AWS中的负载平衡器和代理设置显示了不完整的性能

背景

最终用户发送给www.stuff.com/things的HTTP请求处理如下:

  1. 负载平衡器(公共负载平衡器)负载平衡到NGINX逆向代理(我们称之为安全代理)。
  2. 安全代理将请求路由到专用应用程序负载均衡器。
  3. 专用负载均衡器根据URL路由stream量。 如果url是/things/...则请求被路由到另一个NGINX代理。
  4. 第二个NGINX代理(让我们称之为things代理)将所有请求路由到经典负载均衡器。
  5. 经典的负载均衡器侦听端口80和50000,并将请求平衡到托pipe应用程序的实例。

所以要回顾一下:我有公共负载平衡器安全代理私有负载平衡器things代理和经典负载平衡器。

问题

当用户试图访问www.stuff.com/things ,他们等待,他们等待,他们最终收到HTTP 504:网关超时。 或者,页面立即加载。 或者,一些元素快速加载而其他元素挂起。

debugging

我已经尝试从链中的几个地方发出请求:

  1. curl 经典的负载均衡器 ,响应是瞬间的
  2. curlthings代理 ,反应是瞬间的
  3. curl 私人负载均衡器 ,响应是即时的
  4. curl 安全代理 ,响应是即时的
  5. curl 公共负载平衡器 ,回应是slooooow …除非它是快速的

也许我需要重新configuration我的代理?

代理configuration

things代理configuration如下:

 events { worker_connections 1024; } http { server { location ^~ /proxycheck { return 200 'available'; add_header Content-Type text/plain; } location / { proxy_pass ${PROXY_ADDRESS}; } } } 

安全代理configuration如下:

 events { worker_connections 1024; } http { server { location ^~ /proxycheck { return 200 'available'; add_header Content-Type text/plain; } location / { proxy_pass ${PROXY_ADDRESS}; proxy_read_timeout 90; proxy_redirect default; proxy_set_header Host $host:$server_port; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Real-IP $remote_addr; } } } 

将来,安全代理将检查证书。 在那之前,我还有其他的问题。

有什么build议么?

看起来这一定是AWS的一个短暂的问题(涉及众多的fat-fingers事件),因为自从发布这个问题以来,我一直无法复制它。