我喜欢运行nginx作为本地代理服务器,如果上游服务器不可用,则提供陈旧的caching文件。
这个效果很好,除了本地机器重新启动,而互联网连接故障。 在这种情况下,nginx根本不会启动,说'主机不在上游….'。
我需要在每种情况下启动nginx,否则无法在上游连接失败时提供陈旧的caching。
那么如何让nginx在启动时忽略连接错误呢?
你可以设置backup选项的upstream服务器,然后不会正常打。
upstream cache { server 192.168.1.2:8080 fail_timeout=5s max_fails=3; server 127.0.0.1:82 backup; } location / { proxy_pass http://cache; proxy_next_upstream error http_502; }
确保您的主caching服务器返回一致性错误,以便快速检测到失败。