我需要在本地主机上测试子域。如何才能有效地将此结果添加*.localhost.com
到我的/etc/hosts/
文件中?
如果不可能,我该如何解决这个问题?我需要在本地服务器上测试通配符子域。它是一个 Django 开发服务器,Django 开发服务器可以处理子域吗?其他一些软件/路由能给我我想要的最终结果吗?
答案1
我用 Python 编写了一个 DNS 代理。它将读取 /etc/hosts 中的通配符条目。请参见此处:https://github.com/hubdotcom/marlon-tools/blob/master/tools/dnsproxy/dnsproxy.py
答案2
安装域名系统(无论如何,我在我的所有 Linux 桌面上都将其作为 DNS 缓存执行。)添加dnsmasq.conf
以下行:
address=/localhost.com/127.0.0.1
答案3
无法在/etc/hosts
文件中指定通配符。请明确指定所需的主机名,或者使用适当的规则设置本地名称服务器。
答案4
简单的工作流程(无需安装任何东西)
我个人喜欢为此创建一个 PAC 文件并让我的浏览器使用它。
步骤1:创建一个文件,例如:*.proxy.pac*
某处(我使用我的$home
文件夹)
第2步:粘贴此代码(示例使用端口 8000):
function FindProxyForURL(url, host) {
if (shExpMatch(host, "*localhost")) {
return "PROXY localhost:8000";
}
return "DIRECT";
}
步骤3:让您的浏览器使用此 PAC 文件。
步骤4:现在您可以通过访问来测试您的应用:http://mysubdomain.localhost/
步骤5:享受 :)