我将Nginx配置为简单的反向代理。
我只是使用基本设置。
location / {
proxy_pass foo.dnsalias.net;
proxy_pass_header Set-Cookie;
proxy_pass_header P3P;
}
问题在于一段时间后(几天),Nginx 后面的站点就无法访问。实际上,Nginx 尝试调用错误的 IP(Nginx 后面的站点位于我家的盒子后面,我正在使用动态 DNS,因为我的 IP 不固定)。这个动态 DNS 始终有效(我可以直接访问我的网站),但由于某种不明原因,Nginx 陷入了困境。所以正如所说的那样,Nginx 在一段时间后只会给我返回 504 Gateway Time-out。看起来当我家中的 IP 更改时,错误就会出现。
以下是一个错误日志示例:
[error] ... upstream timed out (110: Connection timed out) while connecting to upstream, client: my.current.ip, server: myreverse.server.com, request: "GET /favicon.ico HTTP/1.1", upstream: "http://my.old
.home.ip", host: "myreverse.server.com"
那么,你知道为什么Nginx使用IP而不是域名吗?