我有一个nginx反向代理,它代理从外部amazon到内部ELB的请求。
我有6个后端实例来处理请求。启用站点的信任看起来像这样,但是有不同的端口号和proxy_pass。其他一切都是一样的:
server {
listen 3000;
location / {
proxy_pass http://internal-prod732r8-PrivateE-1GJ070M0745TT-348518554.eu-west-1.elb.amazonaws.com:3000;
include /etc/nginx/proxy.conf;
}}
大约每24小时一次,其中一个配置停止工作。其他的代理程序都很好。如果我重新启动nginx,所有配置都会再次工作。在error.log中没有什么,在访问日志、syslog或dmesg中也没有什么奇怪的地方。
这是已知的东西吗?我的代理吐露做错什么了吗?我还能查到其他原木吗?
发布于 2013-12-11 11:55:28
如果您的proxy_pass没有像示例显示(http://amazonaws.com)那样直接传递给一个URL,而是传递给代理上游场,如下所示:
upstream my_upstream {
server1 127.0.0.1:1337;
server2 127.0.0.1:1338;
}
location / {
proxy_pass http://my_upstream;
}然后你就不会那么担心上游的一个暂时失败了。因为他们都会做同样的工作。如果一个人没有回复,那么下一个人将被代理该答复。心境平静。
Nginx会自动跳过一台故障机器的x秒钟。直到你修复它,或者直到它自己回来。(http://wiki.nginx.org/HttpUpstreamModule)
因此,不管您中断的原因是什么,通过在上游农场分配它们,这将转换为一个更容易的设置。
https://serverfault.com/questions/560632
复制相似问题