Здравствуйте.
Вопрос теоретический, хотелось бы иметь объяснение следующего поведения nginx.
Ситуация: есть nginx в докере, локальный файл nginx.conf смонтирован в /etc/nginx/nginx.conf
nginx настроен на реверсивный прокси, т.е. получает запросы на 80 порт, перенаправляет на 5555.
часть конфигурации выглядит так:
http {
server {
listen 80;
location / {
proxy_pass http://192.168.1.227:5555/;
proxy_connect_timeout 60s;
}
}
}
На порту 5555 ничего не работает, его никто не слушает.
когда я пытаюсь подключиться к порту 80, то через 2 секунды получаю ошибку "502 Bad Gateway"
Вопрос: почему несмотря на параметр proxy_connect_timeout 60s; nginx не выдерживает таймаут в 60 секунд, а сразу через 2 секунды сообщает, что не может подключиться.
Вопрос №2: мне нужно, чтобы nginx, когда он не может подключиться, повторял попытки подключения в течение некоторого заданного времени. такое поведение связано с тем, что иногда backend сервер перезапускается и в течение нескольких секунд не обслуживает соединения, не хочется, чтобы пользователи получали ошибку.
Спасибо за внимание.