15

在 nginx 中,该proxy_pass指令不使用该/etc/hosts文件解析 DNS。有什么方法可以实现这种可能性(也许通过利用 Lua 作为最后的手段)?

4

2 回答 2

5

简而言之,你需要在本地安装 dnsmasq 并使用 127.0.0.1 作为解析器。

请参阅此相关问题和答案:

使用proxy_pass时,可以使用/etc/hosts来解析域名而不是“resolver”吗?

于 2015-08-28T09:26:21.537 回答
3

如果您有一个带有 systemd 的服务器,您可以使用它附带的名称服务器 systemd-resolved 从/etc/hosts文件中解析您的主机名。

只需将其添加到您的 nginx 配置http中,serverlocation阻止:

resolver 127.0.0.53;

用于systemctl status systemd-resolved.service查看它是否在您的服务器上运行。

于 2020-11-19T09:54:51.830 回答