本地开发主机的通配符

Posted

技术标签:

【中文标题】本地开发主机的通配符【英文标题】:wildcard for local dev hosts 【发布时间】:2018-07-02 01:45:32 【问题描述】:

我最近在多个项目之间切换。所有在本地运行在相同的 IP 但具有不同的域......实际上它总是*.local(如foo.localbar.local 等)。我可以继续将它们添加到我的 /etc/hosts 文件中,但这不是很干净的方式。

这就是为什么我想设置dnsmasq.conf 所以我跑了(显然是作为root):

echo "address=/local/172.17.0.1" >> /etc/dnsmasq.conf
service dnsmasq restart

不幸的是,它不起作用。我的意思是当我运行foo.local(存在于/etc/hosts)时没关系,但foo2.local(不在主机中)却不行。我错过了什么?

【问题讨论】:

【参考方案1】:

我有一个本地域 .loc 的简单配置,请 (1) 将其放在您的 /etc/dnsmasq.d/ 中,(2) 根据您的需要修改域名和 (3) 重新启动 dnsmasq

###################
# .loc DNS domain #
###################

auth-server=loc            # auth server for .loc
host-record=loc,127.0.1.1  # glue A record
#auth-zone=loc,127.0.1.0/24 # zone spec (with subnet -- wildcards not working)
auth-zone=loc/24           # zone spec (no subnet -- wildcards working)
address=/.loc/127.0.1.2    # wildcard record (*.loc => 127.0.1.2)
mx-host=loc                # MX record

####################################
# custom .loc DNS domain A records #
####################################

host-record=what.ever.loc,127.0.1.100

此配置允许根据需要混合通配符和自定义记录 (host-records)。

【讨论】:

【参考方案2】:

dnsmasq.conf 中的address=/local/172.17.0.1 也应该解析子域*.local

您是否尝试过以下方法?

address=/.local/172.17.0.1
address=/#.local/172.17.0.1
address=/#local/172.17.0.1

确保dnsmasq 已重新启动。

【讨论】:

以上是关于本地开发主机的通配符的主要内容,如果未能解决你的问题,请参考以下文章

在 xampp localhost 中创建通配符子域

为本地开发调整 Windows 主机文件和 .htaccess

用于本地开发的 Apache 单一动态虚拟主机配置

Twitter oAuth callbackUrl - 本地主机开发

本地主机中的 Facebook 开发

cURL 与虚拟主机命名有关的本地开发网络问题