NginX 域名解析器

NginX 域名解析器

安装了 nginx 并在端口 8080 上安装了 Apache。问题是:我正在为生产域构建站点(假设我的站点) 并为该域配置一切。我将 Windows hosts 文件更改为重定向我的站点到服务器的 IP,它工作得很好……在我安装 nginx 之前。Nginx 自己解析域名,(显然)无法解析域名我的站点

日志显示:

2012/02/07 07:35:29 [error] 11758#0: *1 mysite.com could not be resolved (110: Operation timed out), client: 89.112.11.xx, server: myssite.com, request: "GET / HTTP/1.1", host: "mysite.com"

好吧,然后我尝试更改服务器上的 hosts 文件。我在 /etc/hosts 中执行以下操作:

127.0.0.1 mysite.com

好的,我们来试试吧!如果这个生效了,至少 wget 应该能找到正确的结果,对吧?只要我在 8080 端口上有 Apache,我就可以 wget 主页:

wget mysite.com

它下载了正确的页面。这意味着 /etc/hosts 运行良好。

但 ngnix 仍然无法解析它!即使我重新启动了服务器。为什么?它有自己的解析器吗?如何让它工作?

答案1

您可以在 127.0.0.1 上使用 dnsmasq 从 /etc/hosts 进行解析,并将解析器 127.0.0.1 放入 nginx 配置中

答案2

nginx 不使用hosts文件进行域解析。如果您将域名用于listenproxy_passfastcgi_pass,则可以使用 IP 地址或localhost

listen localhost:80;
server_name mysite.com;
...
location / {
    proxy_pass http://localhost:8080;
}

相关内容