$remote_port
Переменная $remote_port в NGINX содержит номер порта клиента, выполняющего запрос; используется для контроля доступа и логирования. — NGINX Core (HTTP)
Описание
Переменная $remote_port — встроенная переменная NGINX, которая фиксирует номер TCP-порта, с которого клиент установил соединение с сервером. Она в первую очередь полезна для логирования и организации контроля доступа на основе исходного порта запросов. Эта переменная устанавливается в процессе обработки запроса, конкретно когда NGINX обрабатывает входящее соединение и инициализирует структуру запроса, где сохраняются различные сведения, связанные с клиентом. Когда клиент подключается к серверу, удалённый порт устанавливается операционной системой и становится доступным для NGINX. В типичном сценарии этот номер порта может находиться в диапазоне от 1024 до 65535, так как порты в диапазоне 1-1023 зарезервированы для известных служб. Он также может часто меняться, поскольку клиенты могут подключаться из разных приложений или окружений, из-за чего присваиваются разные номера портов. NGINX использует эту переменную в директивах, например для логирования через директиву 'log_format', а также в правилах контроля доступа, разрешая или запрещая запросы на основе диапазонов исходных портов.
Пример конфига
server {
listen 80;
location / {
access_log /var/log/nginx/access.log 'Client IP: $remote_addr, Port: $remote_port';
}
}Подсистема
httpКэшируется
ДаКонтексты
http, server, location, ifЗначение $remote_port не всегда предсказуемо; оно может различаться между запросами от одного и того же клиента.
Использование $remote_port в правилах безопасности следует осуществлять с осторожностью; возможен спуфинг порта со стороны клиентских приложений.
Эта переменная недоступна во всех контекстах; убедитесь, что вы используете её в правильном контексте, таком как http, server или location.