Перейти к содержанию

Настройка динамического преобразования доменного имени

Если в конфигурационном файле NGINX в директиве proxy_pass передано доменное имя, NGINX определяет IP-адрес домена только один раз сразу после запуска. Если IP‑адрес изменится, NGINX продолжит отправлять запросы на прежний IP‑адрес, пока сервис NGINX не будет перезапущен.

Например:

location / {
    proxy_pass https://demo-app.com;
    include proxy_params;
}

Для динамического преобразования доменного имени в IP-адрес, вы можете использовать переменную в значении директивы proxy_pass и задать DNS‑сервер, используемый для преобразования доменного имени в IP-адрес (директива resolver). При вычислении значения proxy_pass, NGINX будет использовать значение resolver.

Влияние динамического преобразования доменного имени на трафик

  • Конфигурация NGINX с использованием переменной в proxy_pass и директивой resolver замедлит обработку запросов, так как при обработке будет дополнительно выполняться преобразование доменного имени в IP-адрес.
  • Если адрес DNS‑сервера будет недоступен, трафик не сможет проходить через NGINX.

Например:

location / {
    resolver 172.43.1.2;
    set $backend https://demo-app.com$uri$is_args$args;
    proxy_pass $backend;
    include proxy_params;
}