Re: Поддержка proxy-protocol в сторону бекендов
Бохан Артем
artist на academ.org
Пн Июн 18 12:13:39 UTC 2018
Здравствуйте!
Было бы здорово все-таки
- Добавить возможность использования proxy_protocol с proxy_pass в контексте http, либо
- Научить real_ip_header смотреть и в X-Real-IP, и в proxy_protocol.
Сейчас настраиваю nginx в качестве роутера для http/https (c ssl_preread без использования сертификатов) на фронтенде и понимаю, что при использовании на бэкенде http/https listener'а в одном блоке
server {
listen 127.0.0.1:80;
listen 127.0.0.1:443 ssl proxy_protocol;
[...]
}
настроить http_realip_module проблематично. Надо либо создавать для каждого listener'а свой server, либо отключать http_realip_module и пользоваться дополнительными переменными.
27.07.2017, 17:21, "Maxim Dounin" <mdounin at mdounin.ru>:
> Hello!
>
> On Thu, Jul 27, 2017 at 10:11:08AM +0300, Максим Куприянов wrote:
>
>> Подскажите, пожалуйста, есть ли сейчас в nginx поддержка PROXY-протокола
>> для апстрим серверов (через proxy_pass, или в рамках upstream-секции). В
>> документации нашел только про поддержку приема PROXY-соединений, но вот про
>> бекенды ни слова.
>
> Есть, но только в модуле stream.
> http://nginx.org/en/docs/stream/ngx_stream_proxy_module.html#proxy_protocol
>
> В рамках http-модуля он смысла не имеет, так как одно и то же
> соединение к бекенду может использоваться для запросов от разных
> клиентов. Так что в случае http следует использовать
> соответствующие заголовки, такие как X-Real-IP или X-Forwarded-For:
>
> proxy_set_header X-Real-IP $remote_addr;
> proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
>
> С этими заголовками умеет работать модуль realip в nginx
> (http://nginx.org/en/docs/http/ngx_http_realip_module.html) и
> различные модули в других http-серверах.
>
> --
> Maxim Dounin
> http://nginx.org/
> _______________________________________________
> nginx-ru mailing list
> nginx-ru at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru
Подробная информация о списке рассылки nginx-ru