在Amazon EC2实例上,我们运行了nginx和Tomcat。 Nginx将在同一实例上运行的端口8080上的所有对Tomcat的请求进行代理。
这一天工作正常,但后来开始看到很多upstream timed out (110: Connection timed out)在nginx日志中的错误,该网站是无法访问。 现在Tomcat可以在8080端口访问。所以这个问题似乎在nginx和Tomcat之间。
这是nginx.conf样子,
worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; server { listen 80; server_name domainname.com; rewrite ^/(.*) http://www.domainname.com/$1 permanent; } server { listen 80; server_name www.domainname.com; location / { proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://127.0.0.1:8080; proxy_read_timeout 120; proxy_connect_timeout 120; } } }
任何见解都会有所帮助。
更新:重新启动实例后,该网站已开始工作。 我完全不知道这个问题是什么,但是我会监视这个问题一段时间。
请使用以下redirect:
server { listen 80; server_name domainname.com; return 301 $scheme://www.$server_name$request_uri; }
将以下内容添加到您的configuration中:
error_log /var/log/nginx/error.log debug;
并评估,或在这里发布结果。