在nginx中,proxy_pass指令没有使用/etc/hosts文件解析DNS。有什么方法可以实现这种可能性(也许把Lua作为最后的手段)?
proxy_pass
/etc/hosts
rekjcdws1#
如果你的服务器安装了systemd,你可以使用它附带的名称服务器systemd-resolved,从/etc/hosts文件中解析你的主机名。只需将此添加到您的nginx配置http,server或location块:
http
server
location
resolver 127.0.0.53;
使用systemctl status systemd-resolved.service查看它是否在您的服务器上运行。
systemctl status systemd-resolved.service
pinkon5k2#
简而言之,您需要在本地安装dnsmasq并使用127.0.0.1作为解析器。请参阅此相关问题和答案:When using proxy_pass, can /etc/hosts be used to resolve domain names instead of "resolver"?
2条答案
按热度按时间rekjcdws1#
如果你的服务器安装了systemd,你可以使用它附带的名称服务器systemd-resolved,从
/etc/hosts
文件中解析你的主机名。只需将此添加到您的nginx配置
http
,server
或location
块:使用
systemctl status systemd-resolved.service
查看它是否在您的服务器上运行。pinkon5k2#
简而言之,您需要在本地安装dnsmasq并使用127.0.0.1作为解析器。
请参阅此相关问题和答案:
When using proxy_pass, can /etc/hosts be used to resolve domain names instead of "resolver"?