$http_via
Переменная $http_via получает значение заголовка 'via', отправленного вышестоящими прокси в HTTP-запросах. — NGINX Core (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;
}
}Подсистема
httpКэшируется
ДаКонтексты
http, server, location, ifУбедитесь, что заголовок 'via' действительно добавляется вышестоящими прокси; в противном случае переменная будет пустой.
Будьте осторожны, полагаясь на наличие `$http_via` для целей безопасности или управления доступом, поскольку любой клиент может подделать HTTP-заголовки в запросах, отправленных непосредственно на сервер.