На инстансе Amazon EC2 у нас работают nginx и Tomcat. Nginx передает все запросы Tomcat на порт 8080, запущенный на том же экземпляре.
Это работало нормально в течение дня, но затем начало видеть много 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;
}
}
}
Любые идеи были бы полезны.
Обновить: После перезапуска экземпляра сайт заработал. Я совершенно не понимаю, в чем проблема, но я буду следить за такими проблемами какое-то время.
Пожалуйста, используйте следующее для перенаправления:
server {
listen 80;
server_name domainname.com;
return 301 $scheme://www.$server_name$request_uri;
}
Добавьте в свою конфигурацию следующее:
error_log /var/log/nginx/error.log debug;
И оцените, или разместите результат здесь.