@jwcfree

Как можно добавить таймаут ответа страницы для проверки Nginx Upstream?

Допустим, есть такая простая конфигурация upstream.conf
upstream backend {
    server 192.168.1.44:8081;
    server 192.168.1.60:8081;
    server 192.168.1.62:8081;
}

И еще более простая конфигурация nginx
server {
    listen 8081;
    location / {
        proxy_pass http://backend;
    }
}

На порту 8081 на каждой машине работает в докере контейнер с образом nginx, который вместо приветственной страницы показывает ID контейнера.
Round robin DNS при таком случае работает как положено, при запросе к странице, циклически меняются ID.
Как можно проверить кейс, когда появляется таймаут ответа у страницы? Т.е. искусственно создать сначала 10 сек и проверить какой ответ будет приходить. Появятся ли 404 ошибки или страница будет загружаться все 10 сек либо запрос вообще переключится на другой IP?
Возможно есть какой-то готовый вариант на fcgi и php-fpm чтобы сделать что-то подобное?
  • Вопрос задан
  • 59 просмотров
Решения вопроса 1
@jwcfree Автор вопроса
Еще раз большое спасибо Lynn «Кофеман»
Вот с таким конфигом nginx внутри контейнера удалось сделать задуманное.
При этом nginx будет ждать пока не закончится указанное время таймаута, если в конкретном контейнере он установлен.
server {
    listen 80;
    listen [::]:80;

    location / {
        echo_sleep 11;
        default_type 'text/html';
        echo $hostname;
    }
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы