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. -- Maxim Dounin http://nginx.org/ _______________________________________________ nginx-ru mailing list [email protected] http://mailman.nginx.org/mailman/listinfo/nginx-ru
