【发布时间】:2012-01-08 10:53:04
【问题描述】:
在使用 proxy_pass 时可以使用 /etc/hosts 代替 resolver 吗?
我需要对同一台 nginx 机器执行 proxy_pass。有没有办法使用机器的 /etc/hosts 文件来解析域,而不是通过“resolver”属性指定 DNS 服务器?
这将为我节省到达同一服务器所需的额外跃点。我尝试在 /etc/hosts 文件中设置映射到 DNS 的内部 IP,但 nginx 仍在从 resolver 属性中设置的 DNS 服务器读取。或者有没有办法让 HTTPProxy 模块考虑 /etc/hosts 文件设置?
感谢您分享的任何建议..
这是我在 nginx 论坛上发布的同一个问题: http://forum.nginx.org/read.php?11,218997
【问题讨论】:
-
奇怪的是,如果你使用上游(主机分辨率),这是有效的
-
Upstream 也对我有用,它是一些额外的代码,但它似乎比下面列出的其他一些方法更干净。
-
如果使用带有 systemd 的服务器,也可以使用 systemd-resolved 来解决。看到这个答案stackoverflow.com/a/64909236/153718
标签: url-rewriting nginx reverse-proxy