本地开发主机的通配符
Posted
技术标签:
【中文标题】本地开发主机的通配符【英文标题】:wildcard for local dev hosts 【发布时间】:2018-07-02 01:45:32 【问题描述】:我最近在多个项目之间切换。所有在本地运行在相同的 IP 但具有不同的域......实际上它总是*.local
(如foo.local
、bar.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
已重新启动。
【讨论】:
以上是关于本地开发主机的通配符的主要内容,如果未能解决你的问题,请参考以下文章
为本地开发调整 Windows 主机文件和 .htaccess