我有多个 nginx 虚拟主机,全部指向 localhost。目前它们具有相同的名称和不同的端口localhost:8080
。localhost:8081
相反,我希望它们具有相同的端口和不同的名称site1:8080
。site2:8080
/etc/hosts/
然而,这需要我为每个站点添加新条目:
127.0.0.1 site1 site2 site3 site4
有没有办法创建一个.local
域,这样输入的任何以该结尾的内容都会解析为 localhost?这样我就可以这样做site1.local:8080
,site2.local:8080
而不必每次都更新 /etc/hosts。比如
127.0.0.1 .local
不幸的是这似乎不起作用。
有哪些方法可以让它工作而不需要进行类似设置dnsmasq
?
我听说过http://readme.localtest.me/它允许这样做,site1.localtest.me:8080
但是我很多工作都是在没有互联网连接的情况下进行的,因此我理想情况下会使用不需要在线解析为 127.0.0.1 的东西。
我可以用什么来做/etc/hosts
,/etc/resolv.conf
或者用其他什么来设置 .local 域名?
答案1
不能在 中使用通配符/etc/hosts
。没有 DNS 服务器就无法做到这一点。
您有两个选择:1)将您需要的每个自定义主机放入/etc/hosts
(您可以使用自定义 shell 脚本自动执行此操作)
2)只需使用自定义本地 DNS 即可完成此任务。我建议域名系统。
您只需使用--address=/local/127.0.0.1
dnsmasq 中的参数,其中“local”是您的域名。