Re: unit: механизм определения адреса клиента типа realip и передача заголовков

Валентин Бартенев vbart на nginx.com
Чт Авг 9 07:37:23 UTC 2018


On Wednesday, 8 August 2018 22:53:41 MSK Иван wrote:
> Здравствуйте!
> 
> Правильно ли я понимаю, что сейчас unit не умеет передавать в
> $_SERVER['REMOTE_ADDR']   ip клиента, а не проксирующего nginx?
> Переделывать весь наш код, чтоб брал IP из другого заголовка будет жестко.

Да, туда в настоящий момент передается информация из сокета.

Я бы сейчас решил эту задачу маленькой прослойкой в виде небольшого php
скрипта, который заменяет содержимое $_SERVER['REMOTE_ADDR'] из HTTP_
заголовка, а далее выполняет уже основной скрипт, запрошенный.  Так не
потребуется вносить каких-либо изменений в остальной код, а прослойку
в бущуем можно будет просто убрать.


> 
> Планируется ли это исправить? Когда примерно? Сейчас это единственный
> для меня блокирующий недостаток для внедрения unit массово в продакшен.

Насколько я понимаю, некое подобие realip модуля решило бы Вашу задачу?


> 
> Так же интересно, когда планируется ввести возможность передавать вы
> пыху любые заголовки массива $_SERVER, а не только HTTP_*. Это
> собственно является решением и предыдущего вопроса.

Сейчас это не очень простая задача.  Сама по себе возможность задавать
массив $_SERVER не представляет сложности, но вряд ли будет полезно
указывать там какие-то константы.  А что-то более осмысленное требует
уже реализовывать поддержку переменных или какой-то похожий механизм.
Возможно где-то к концу года, в начале следующего мы что-то подобное
сделаем.

--
Валентин


Подробная информация о списке рассылки nginx-ru