$request_port
Переменная $request_port содержит номер порта, который клиент использует для отправки запроса на сервер. — NGINX Core (HTTP)
Описание
Переменная $request_port в NGINX обозначает порт, на котором был получен запрос от клиента. Эта переменная устанавливается во время обработки запроса и получается из сведений о соединении клиента, указанных в заголовке запроса. Когда клиент делает HTTP или HTTPS запрос, запрос маршрутизируется в указанный серверный блок на основе критериев сопоставления, которые включают номер порта. Для стандартных HTTP-запросов это обычно порт 80, а для HTTPS — порт 443. Если запрос сделан через нестандартный порт, $request_port отразит этот конкретный номер порта. Например, если клиент подключается к порту 8080, то значение $request_port будет "8080". Важно отметить, что при использовании таких протоколов, как HTTP/2, порт может определяться динамически, но NGINX по-прежнему зафиксирует и отразит номер порта, использованный для этого соединения, в переменной $request_port. Осведомлённость об этом значении может быть полезна для логирования, условной конфигурации или при переписывании URL на основе полученного порта.
Пример конфига
server {
listen 80;
location / {
return 200 "Request received on port: $request_port";
}
}Подсистема
httpКэшируется
ДаКонтексты
http, server, location, ifПеременная будет пустой, если сервер находится за прокси, который не пересылает исходный порт клиента.
Использование этой переменной в определённых контекстах может привести к неожиданным результатам, если запрос пересылается или изменяется вышестоящим сервером.