Обратный прокси-сервер Nginx не переходит в приложение по внутреннему маршруту после перезапуска - PullRequest
0 голосов
/ 12 июня 2019

У нас есть следующие настройки: nginx buildpack в качестве обратного прокси-сервера с proxy_pass, установленным на внутренний маршрут * .apps.internal.Настройка работает нормально, пока приложение, к которому ведет внутренний маршрут, не перезапустится.Тогда у нас возникает проблема, заключающаяся в том, что приложение получает новый внутренний IP-адрес, а внутренний DNS не сразу разрешает внутренний маршрут * .apps.internal к новому IP-адресу.Нам не хватает некоторых настроек?

Ручной перезапуск обратного прокси-сервера решает проблему.Однако это не долгосрочное решение.

1 Ответ

0 голосов
/ 12 июня 2019

Вероятно, использование Nginx resolver может помочь из документов :

Конфигурирует серверы имен, используемые для преобразования имен вышестоящих серверов в адреса, например: resolver 127.0.0,1 [:: 1]: 5353;

Вы можете использовать его в глобальном масштабе:

resolver 10.0.0.2 valid=300s;
resolver_timeout 10s;

location /foo {
    set $foo_backend_servers foo_backends.example.com;
    proxy_pass http://$foo_backend_servers;
 }

Или для каждого местоположения:

location /foo {
    proxy_pass http://foo_backends;
    resolver 10.0.0.2 valid=300s;
    resolver_timeout 10s;
}

Проблема в том, чтобы знатькакой DNS-сервер использовать по этим ссылкам:

resolver 169.254.0.2; используется, простов этом случае диапазон 169.254.0.0/16 IPv4 принадлежит локальному адресу Link , поэтому лучше дважды проверить, какой DNS-сервер использовать.

...