当上游返回失败的时候,我们是有些处理方法的,这个处理方法就是通过proxy_next_upstream这么一个指令来控制的。当然了该指令能够生效的前提是我们没有向客户端发送一个字节,即没有向客户端发送任何的内容,只要向客户端发送了一个字节了,说明上游服务已经生效了,那么我们就不能再选择一个新的上游服务了。所以它是在接收到请求并且在转发一个字节之前,nginx判定为错误,那么这个功能才能够生效。
错误的连接由proxy_next_upstream, fastcgi_next_upstream等指令决定,且默认情况下后端某台服务器出现故障了,nginx会自动将请求再次转发给其他正常的服务器(因为默认proxy_next_upstream error timeout)。所以即使我们没有配这个参数,nginx也可以帮我们处理error和timeout的相应,但是没法处理404等报错,就是如果资源找不到还是会报错的。(如果后端服务器上有多台,只要有一台上没有用户要访问的资源就会报404错误)
proxy_next_upstream off
proxy_next_upstream error
proxy_next_upstream 404
nginx没法处理404等报错,就是如果资源找不到还是会报错的。(如果后端服务器上有多台,只要有一台上没有用户要访问的资源就会报404错误,即后端服务器资源要保持一致)192.168.179.100上模拟客户端要访问的资源不存在,但是这个资源在192.168.179.101上存在。
本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕,E-mail:xinmeigg88@163.com
本文链接:http://www.xrbh.cn/tnews/1323.html