nginx服务器上的超时错误不一致

我有一个应用程序试图从Javascript应用程序的Ajax请求从nginx服务器检索xml文件。 通常情况下一切正常,但我经常在nginx日志中看到错误(并从我的应用程序错误报告中获取错误),nginx在获取期间显示超时

2015/11/16 21:15:21 [error] 1208#0: *4894044 upstream timed out (110: Connection timed out) while connecting to upstream, client: 209.95.138.54, server: www.servername.com, request: "GET /Shape%20Textures/Metal/Born%20to%20Shine.jpg?agentView=436314 HTTP/1.1", upstream: "http://img.zgserver.com/nginx/Born to Shine.jpg?agentView=436314", host: "www.servername.com.com", referrer: "https://www.servername.com.com/?nid=39956&mode=edit" 

我们也有时会得到这个类似的错误:

 2015/11/17 19:03:16 [error] 1002#0: *54042 upstream timed out (110: Connection timed out) while reading response header from upstream, client: 137.164.121.52, server: www.servername.com, request: "POST /projects/?q=node/36375/update_project_time_and_stats HTTP/1.1", upstream: "http://127.0.0.1:3000/projects/?q=node/36375/update_project_time_and_stats", host: "www.servername.com", referrer: "https://www.servername.com/AQO/?nid=36375&mode=edit" 

我似乎有类似的超时类似的post,但所有这些post似乎可重现。 这个问题从来没有发生在我身上,但运行在现场服务器上,我会看到这些超时一天5-30。

这是我的nginxconfiguration:

 client_max_body_size 50M; server { server_name servername.com; return 301 $scheme://www.servername.com$request_uri; } server { listen 80; listen 443 ssl; fastcgi_read_timeout 120; ssl_certificate /path/to/ssl/star_servername_com.pem; ssl_certificate_key /path/to/ssl/star_servername_com.key; # Redirect all non-SSL traffic to SSL. if ($ssl_protocol = "") { rewrite ^ https://$host$request_uri? permanent; } root /usr/share/nginx/html; index index.html index.htm; # Make site accessible from http://localhost/ server_name www.servername.com; location / { proxy_set_header X-Forwarded-For $remote_addr; proxy_pass http://127.0.0.1:3000; proxy_read_timeout 120s; } } 

由于我不能复制它,我不知道我怎么能够追查这个问题?

上游超时(110:连接超时)连接到上游

意味着您的上游服务器不能及时接受连接

上游超时(110:连接超时),从上游读取响应头

意味着你的上游服务器没有及时回答

所以请检查您的上游服务器在127.0.0.1:3000。 它可能已经设置了少量的传入连接或某种类型的DDoS保护,或者在当下或其他方面负载很重。

我想参考这个答案 ,显示如何优化您的设置。

虽然不是最好的解决方案,但非常依赖于你想达到的目的,你可以简单的将proxy_read_timeout增加到300