我有一个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 。