$http_via
Переменная $http_via получает значение заголовка 'via', отправленного вышестоящими прокси в HTTP-запросах.
Описание
Переменная $http_via в NGINX используется для доступа к значению заголовка 'via' из HTTP-запроса. Этот заголовок обычно добавляют веб‑прокси, чтобы указать промежуточные серверы, через которые прошёл запрос, что даёт представление о маршрутизации запроса и задействованных механизмах кэширования. Когда клиент отправляет запрос через один или несколько прокси, заголовок 'via' добавляется каждым прокси, конкатенируя информацию и позволяя нижестоящим серверам анализировать путь запроса.
Установка этой переменной происходит автоматически при обработке NGINX заголовков входящих запросов. Если заголовок 'via' присутствует, $http_via будет содержать его значение, которое может включать несколько фрагментов информации, если запрос проходил через несколько прокси. Типичные значения этого заголовка могут включать сведения о программном обеспечении прокси‑сервера и его версии. Если в запросе нет заголовка 'via', переменная будет пустой, что позволяет использовать условную логику в конфигурации сервера на основе наличия этого заголовка.
Пример конфига
server {
listen 80;
location / {
if ($http_via) {
add_header X-Proxy-Server $http_via;
}
proxy_pass http://backend;
}
}Убедитесь, что заголовок 'via' действительно добавляется вышестоящими прокси; в противном случае переменная будет пустой.
Будьте осторожны, полагаясь на наличие $http_via для целей безопасности или управления доступом, поскольку любой клиент может подделать HTTP-заголовки в запросах, отправленных непосредственно на сервер.