$proxy_internal_host
$proxy_internal_host возвращает имя хоста внутреннего прокси для запроса. — NGINX Core (HTTP)
Описание
Переменная $proxy_internal_host в NGINX используется преимущественно в конфигурациях, где запросы проксируются во внутренние локации. Ее роль — сохранять и возвращать внутреннее (или бэкенд) имя хоста, которое обычно определяется настройками внутренней сети сервера. Эта переменная особенно полезна в сценариях, связанных с балансировкой нагрузки или настройками обратного прокси, когда несколько upstream-серверов могут обрабатывать входящие запросы. В зависимости от контекста переменная будет установлена в внутреннее имя хоста, указанное в конфигурации прокси, или по умолчанию примет имя хоста сервера, если оно явно не задано. $proxy_internal_host вычисляется во время обработки запроса, который был изменён с помощью директив, связанных с прокси, таких как "proxy_pass". Если задан proxy_name, это имя будет использовано в качестве значения этой переменной. Если внутреннее имя хоста не задано, система может вернуться к поведению по умолчанию, предусмотренному конфигурацией NGINX. Это гарантирует корректную маршрутизацию запросов на основе явно заданных конфигураций или внутренних значений по умолчанию. Это позволяет реализовывать продвинутые конфигурации, в которых решения принимаются на основе переменной $proxy_internal_host, обеспечивая управление внутренними политиками маршрутизации или проверками безопасности, основанными на внутренних именах хостов. Также это может улучшить процессы логирования и отладки, когда администраторам нужно более наглядно изучать настройки внутреннего проксирования.
Пример конфига
location /api {
proxy_pass http://backend_server;
proxy_set_header Host $proxy_internal_host;
}Подсистема
httpКэшируется
НетКонтексты
http, server, locationУбедитесь, что внутреннее имя хоста правильно настроено в конфигурациях прокси, чтобы избежать неожиданных последствий.
$proxy_internal_host может работать не так, как ожидается, если используется вне прокси-контекста, поскольку его значение задаётся только для проксированных запросов.
Имейте в виду, что эта переменная не содержит информацию о порте; при необходимости порт нужно обрабатывать отдельно.