所以我在本地开发环境中使用 dnsmasq,我需要将其设置为使用多个域。(.dev, .test, .somethingelse) 这怎么做?
目前它仅与 .dev 一起使用
这就是我的 dnsmasq.conf 的样子
address=/dev/127.0.0.1
listen-address=127.0.0.1
对于您要在本地服务器的每个(子)域,将以下条目添加到您的 dnsmasq.conf:
address=/.domain/127.0.0.1
现在让您的操作系统知道,您希望将请求重定向到该域到您的本地 dnsmasq 名称服务器。通过在“/etc/resolvers”中创建一个文件“域”来做到这一点。
/etc/resolvers/domain 有以下内容:
nameserver 127.0.0.1
对我来说, 地址=/.aaa.com/.bbb.com/127.0.0.1 可以解决问题。
一个更通用的答案是/etc/dnsmasq.conf
local=/mylan/
并且在/etc/hosts
192.168.1.3 dev dev.mylan
192.168.1.3 test test.mylan
192.168.1.4 build build.mylan
根据https://serverfault.com/questions/136332/setting-up-dnsmasq-for-a-local-network
(请注意,该解决方案有助于 DHCP 设置,您不能在同一 IP 上拥有 2 台主机,正如 OP 所喜欢的那样)
在您的/usr/local/etc/dnsmasq.conf
添加中:
address=/dev/test/127.0.0.1
然后创建文件:
/etc/resolver/dev
和/etc/resolver/test
. 两者都有内容:
nameserver 127.0.0.1
从现在开始,所有xyz.dev
和xyz.test
域都将指向127.0.0.1
.
.dev 不建议用于开发,因为 Google 实际上拥有该顶级域。
您可能希望使用保留的 TLD,例如 .localhost 进行开发。
关于同样问题的好文章:https ://web.archive.org/web/20180722223228/https://iyware.com/dont-use-dev-for-development/