У меня есть экземпляр NGINX, настроенный как обратный прокси для нескольких приложений, каждое из которых настроено как собственный сервер в конфигурации NGINX.
Конфигурация на данный момент очень минимальная:
listen 80;
listen 443 ssl;
server_name example.com;
access_log /var/log/nginx/access.log main;
proxy_set_header Host $http_host;
location ~ .*/url1/.* {
allow xx.0.0.0/8;
deny all;
proxy_pass http://aws-balender-cname-url;
}
location ~ / {
proxy_pass http://aws-balencer-cname-url;
}
Одно из этих приложений перестает работать один раз в неделю примерно в одно и то же время, когда я проверяю журнал доступа NGINX, он отвечает в основном кодами ответа 499 (закрытый запрос клиента) с периодическими 502 и 504. Все остальные приложения в порядке.
В журналах ошибок NGINX есть такая запись:
истекло время ожидания восходящего потока (110: время ожидания соединения истекло) при подключении к
Если я смотрю на вышестоящий сервер (Microsoft IIS, через AWS ELB), на котором размещено приложение, он выглядит нормально, он не загружен, запросы просто перестают поступать.
Как я решил эту ситуацию, перезагрузил конфигурацию NGINX, и проблема перестала возникать, но это плохое решение.
Какие-либо рекомендации по поводу проблемы? Или как это диагностировать?
Есть ли что-нибудь в цепочке NGINX AWS-ELB IIS, что может вызвать проблему?