在 Linux/OSX 上的 /etc/hosts/ 文件中,如何创建通配符子域名?

在 Linux/OSX 上的 /etc/hosts/ 文件中,如何创建通配符子域名?

我需要在本地主机上测试子域。如何才能有效地将此结果添加*.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 文件。

PAC 和 Firefox 的 Youtube 视频

步骤4:现在您可以通过访问来测试您的应用:http://mysubdomain.localhost/

步骤5:享受 :)

相关内容