当应用程序重新加载时,让Nginx保持请求

我有一个nginx反向代理服务器设置为通过proxy_pass http://localhost:5000;转发请求到端口5000上运行的应用程序proxy_pass http://localhost:5000;

这工作,但是当我重新启动应用程序,大约10秒任何请求立即返回502 Bad Gateway ,直到应用程序重新加载。

有没有什么办法可以让Nginx在应用程序closures时保存这些请求,每隔一段时间重试一次呢? 我试过了

 upstream backend { server localhost:5000 fail_timeout=20s; server localhost:5000 backup; } ... proxy_pass http://backend; 

但是这似乎没有效果。

你有一些select:

  • search到你的上游文件find一个正确的重新加载信号/ API,而不是一个停止和启动序列。

  • 如果你的页面可以caching,定义一个代理caching,并提供陈旧的页面,直到应用程序再次上升。

  • 将后端扩展为2个实例,并一次重新启动一个实例,然后根据需要调整proxy_next_upstream