LINUX.ORG.RU
ФорумAdmin

NGING proxy_pass access log как узнать порт

 


0

1

Добрый день. Есть nginx 1.14.1 и virtual host

server {
       server_name domain;
       listen 443 ssl;
       access_log /var/log/nginx/domain-access.log websocketlog;
       error_log  /var/log/nginx/domain-error.log;
.......

       location / {
           proxy_pass http://127.0.0.1:8080/ws;
........................
       }

   }

для определенного дебага приложения мне нужно знать с какого порта nginx проксирует запросы, т.е. 127.0.0.1: ? -------- 127.0.0.1:8080

из того, что нашел в документации:

log_format websocketlog '[$time_local] $remote_addr - $remote_user - $server_name $host to: $upstream_addr: $request $status upstream_response_time $upstream_response_time msec $msec request_time $request_time';

тут видно, только куда был спроксирован запрос. А src порт с которого nginx открывает подключения отсутствует. подскажите, есть ли какая-то переменная, из которой можно эту информацию вытащить?


Странное желание. Попробуй так:

  1. список переменных есть тут: https://nginx.org/en/docs/varindex.html поиск по слову «port» находит несколько штук

  2. tcpdump и wget помогут проверить, тот ли порт оказался в логе

router ★★★★★
()
Последнее исправление: router (всего исправлений: 1)

Это нужно обязательно из nginx вытаскивать? Ведь проксируемое приложение тоже знает исходящий порт.

gruy ★★★★★
()
Ответ на: комментарий от gruy

не обязательно из nginx. но мне нужно понимать связку внешний адрес подключения:порт——127.0.0.1:port?—–127.0.0.1:8080/ws.

vinner
() автор топика
Ответ на: комментарий от router

попробовал разные варианты. нет порта нужного. только рандомный порт клиента, 443, и порт приложения.

vinner
() автор топика
Ответ на: комментарий от gruy

да. я там могу узнать этот порт из приложения - но мне нужна связка внешний IP——порт—nginx:порт——приложение:порт

vinner
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.