我使用reverse_proxy和缓存设置了一个NGINX (只在很短的时间内缓存多个请求)。后端nginx调用在本地运行(反向代理地址是localhost:8092)。后端有时需要重新启动,使其离线时间为2-3秒。目前,nginx为这一时期提供502服务。我希望在这段时间内拖延请求。是否可以配置nginx,以便在502的情况下等待,并定期重试?
我知道这不是解决这个问题的最干净的方法,但是这不是一个生产系统,所以这个(如果可能的话)似乎是最简单的解决方案。
该系统正在运行Ubuntu 16.04LTS和nginx 1.10.3
发布于 2018-03-07 15:09:49
我不这样认为。Nginx将尝试所有可用的上游流,如果它们没有响应,将提供502 (网关错误)。Nginx上游的文件说:
如果在与服务器通信期间发生错误,则请求将传递到下一个服务器,依此类推,直到所有正常运行的服务器都将被试。如果无法从任何服务器获得成功的响应,客户端将收到与最后一台服务器通信的结果。
来源:module.html#upstream
https://stackoverflow.com/questions/48396446
复制相似问题