NGINX,如果没有,请等待代理

时间:2018-01-23 07:38:31

标签: nginx nginx-reverse-proxy

我有一个NGINX设置了reverse_proxy和缓存(只在非常短的时间内缓存多个请求)。后端nginx调用在本地运行(反向代理地址为localhost:8092)。 后端有时需要重新启动,使其脱机持续约2-3秒。目前,nginx目前服务502。我宁愿拖延那段时间的请求。 是否可以配置在502的情况下等待的nginx并定期重试?

我知道这不是解决这个问题的最简洁方法,但这不是一个生产系统,所以这(如果可能的话)似乎是最简单的解决方案。

系统正在运行带有nginx 1.10.3的Ubuntu 16.04LTS

1 个答案:

答案 0 :(得分:0)

我不这么认为。 Nginx将尝试所有可用的上游,如果它们没有响应将提供502(网关错误)。来自Nginx上游的文档说:

  

如果在与服务器通信期间发生错误,请求将被传递到下一个服务器,依此类推,直到将尝试所有正常运行的服务器。如果无法从任何服务器获得成功的响应,则客户端将收到与最后一个服务器的通信结果。

来源:http://nginx.org/en/docs/http/ngx_http_upstream_module.html#upstream