您的位置:首页 > 运维架构 > Nginx

nginx后端服务器返回给nginx502、504、404、执行超时等错误状态的解决方法

2015-02-09 16:53 866 查看
今天公司的网站访问的时候全部变成404页面,查看网站的文件没有问题,来检查nginx的配置的时候,

发现后端的一台服务器不可用,直接访问那台后台的服务器的时候,返回的是404页面,

因为upstream 里面设置了ip_hash。所以导致我怎么刷新都是404页面。

由此想到了nginx的一个功能,就是当后端的服务器返回给nginx502、504、404、执行超时等错误状态的时候,

nginx会自动再把这个请求转发到upstream里面别的服务器上面,从而给网站用户提供更稳定的服务。

配置如下:

location /

{

#如果后端的服务器返回502、504、执行超时等错误,自动将请求转发到upstream负载均衡池中的另一台服务器,实现故障转移。

proxy_next_upstream http_502 http_504 http_404 error timeout invalid_header;

proxy_pass http://php_server_pool;
proxy_set_header Host www.yourdomain.com;

proxy_set_header X-Forwarded-For $remote_addr;

}

这样的话,也算是保障了后端服务器的一个高可用性,不得不说,nginx还是很强大的。

本文固定链接: http://www.linuxyan.com/web-server/67.html 转载请注明:
admin 2012年07月18日 于
ㄨ销声匿迹、Linux 发表
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐