Mac*_*sel 5 ruby nginx unicorn
我在独角兽面前使用Nginx.当应用程序处于高负载且所有unicorn工作人员都忙时,nginx将返回502响应,表示网关配置错误.我对这种行为没问题,但在这种情况下,我希望nginx返回503响应代码(服务器忙,稍后再试),这是一个更合适的响应.
我看到了这个答案: 是否可以更改在nginx中关闭proxy_pass网关时返回的HTTP状态代码?
其中描述了如何重写从上游代理返回的一些状态代码:
location / {
proxy_pass http://backend;
proxy_intercept_errors on;
error_page 502 503 504 =503 @proxyisdown; # always reply with 503
}
location @proxyisdown {
add_header Retry-After 500;
index my_pretty_error_page.html;
}
Run Code Online (Sandbox Code Playgroud)
但是这有两个问题:
有没有什么办法可以控制nginx在这种情况下返回的状态码,这样它就是503而不是502?
您是否考虑过通过后端服务器解决这个问题?调整后端服务器接受的客户端数量,以便对后端服务器的请求通常成功或失败,并且不会陷入返回 503 的糖蜜状态。理想情况下,您将能够调整后端服务器当可用客户端耗尽时返回 503,而当后端服务器实际宕机时,Nginx 将继续返回 502。
| 归档时间: |
|
| 查看次数: |
2559 次 |
| 最近记录: |