Переадресация протоколов NGinx и Proxy

Я пытаюсь создать конфигурацию NGinx, в которой NGinx получает заголовок протокола прокси на входящем соединении и передает его на исходящем соединении. Существенно для распространения реального IP-адреса до конечной цели. Я использую следующую конфигурацию:

stream {
    upstream some_backend {
         server some_host:8090;
    }

    server {
        listen                8090 proxy_protocol;
        proxy_pass            some_backend;
        proxy_protocol        on;
    }
}

Однако заголовок протокола прокси-сервера, который я получаю на some_backend, содержит IP-адрес NGinx, а не IP-адрес источника.

Что-то не так с используемой конфигурацией? Можно ли вообще это сделать?

1 ответ

Ой, я сделал это снова... Кажется, что отсутствующая часть добавляет директиву set_real_ip_from с диапазоном ip, который вы используете для доступа к NGinx

http://nginx.org/en/docs/stream/ngx_stream_realip_module.html

stream {
    upstream some_backend {
         server some_host:8090;
    }

    server {
        listen                8090 proxy_protocol;
        proxy_pass            some_backend;
        proxy_protocol        on;
        set_real_ip_from      172.17.0.0/24;
    }
}
Другие вопросы по тегам