2017-06-19 17:42 GMT+02:00 Maxim Dounin <[email protected]>: > Hello! > > On Mon, Jun 19, 2017 at 05:17:18PM +0200, Alexander Moskalenko wrote: > > > 2017-06-19 17:00 GMT+02:00 Evgeniy Berdnikov <[email protected]>: > > > > > On Mon, Jun 19, 2017 at 04:26:59PM +0200, Alexander Moskalenko wrote: > > > > Кейс такой: > > > > > > > > Есть 2 CDN, которые передают разные заголовки. > > > > Есть список их IP, хочется получать Real_IP от обоих без танцев > > > > > > Что значит "обоих"? Вложенные CDN, что ли? Как это? Непонятно. > > > > > > > 2 _разных_ CDN, часть сайтов висит на одном, часть на другом > > Конфигурация realip модуля вынесена в блок http > > CDN_1 шлет IP клиента в HTTP_HEADER_1 > > CDN_2 шлет IP клиента в HTTP_HEADER_2 > > > > хочется прописать ОБА заголовка в realip_header > > Это приведёт к тому, что любой клиент сможет подделать IP, прислав > запрос через CDN_1 с заголовком HTTP_HEADER_2 (или наоборот - > через CDN_2 с заголовком HTTP_HEADER_1). Потому что CDN'ы > наверняка не фильтрует заголовки, которые сами не выставляют. > > Чтобы работало хоть сколько-нибудь безопасно - нужно, фактически, > делать отдельные конфигурации, с каких адресов принимать какой > заголовок. Такого realip-модуль сейчас не умеет, и в обозримой > перспективе уметь, скорее всего, не будет. > > Проще всего для подобных задач явно делать разные конфигурации, с > разными блоками server{} для разных CDN. > > Как вариант что-то подобное вполне бы устроило.
Насчет безопасности - допустим я на стороне CDN могу удалить небезопасные заголовки, а вот управлять названием realip-header - нет. -- > Maxim Dounin > http://nginx.org/ > _______________________________________________ > nginx-ru mailing list > [email protected] > http://mailman.nginx.org/mailman/listinfo/nginx-ru >
_______________________________________________ nginx-ru mailing list [email protected] http://mailman.nginx.org/mailman/listinfo/nginx-ru
