微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

当上游独angular兽繁忙时,更改Nginx返回的状态码

我在独angular兽前面使用了Nginx。 当应用程序处于高负载状态时,所有独angular兽工作者都忙着,Nginx将返回一个502响应,说明网关configuration错误。 我对这种行为可以,但在这种情况下,我希望Nginx返回503响应代码(服务器忙,稍后再试),这是一个更合适的响应。

我看到了这样的答案: 是否有可能改变在Nginx中proxy_pass网关closures时返回的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; }

但是这有两个问题:

为什么独angular兽/ Gunicorn缓慢服务于静态内容

使用Nginx + Gzip + Unicorn时缺less内容长度标题

Unicorn / Nginx进程丢失,套接字打开

在尝试使用Nginx和独angular兽将rails应用程序configuration为SSL时,错误太多

Nginx上托pipestatic angular2应用程序,并将http请求代理到后端api

上游应用程序有时会返回502应该保留的有效情况的响应代码

我不相信上游代理实际上是返回这个错误的状态代码,更有可能Nginx不能把这个项目放在(tcp?)缓冲区,然后Nginx返回误导的状态代码

有什么办法可以控制Nginx在这种情况下返回的状态码,所以它是503而不是502

如何在生产中使用Nginx和UnicornconfigurationActionCable?

用Capistrano 3.x启动或重新启动Unicorn

部署多个Rails应用程序到DigitalOcean

如何configurationNginx + Unicorn来避免超时错误

Nginx / Unicorn / Rails连接超时

你有考虑解决这个与后端服务器? 调整后端服务器接受的客户端数量,以便对其的请求通常成功或失败,并且不会陷入返回503的糖蜜状态。理想情况下,您将能够调整后端服务器在可用客户端用完时返回503,而当后端服务器实际关闭时,Nginx将继续返回502

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐