<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">2017-06-19 17:42 GMT+02:00 Maxim Dounin <span dir="ltr"><<a href="mailto:mdounin@mdounin.ru" target="_blank">mdounin@mdounin.ru</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello!<br>
<span class=""><br>
On Mon, Jun 19, 2017 at 05:17:18PM +0200, Alexander Moskalenko wrote:<br>
<br>
> 2017-06-19 17:00 GMT+02:00 Evgeniy Berdnikov <<a href="mailto:bgx@protva.ru">bgx@protva.ru</a>>:<br>
><br>
> > On Mon, Jun 19, 2017 at 04:26:59PM +0200, Alexander Moskalenko wrote:<br>
> > > Кейс такой:<br>
> > ><br>
> > > Есть 2 CDN, которые передают разные заголовки.<br>
> > > Есть список их IP, хочется получать Real_IP от обоих без танцев<br>
> ><br>
> >  Что значит "обоих"? Вложенные CDN, что ли? Как это? Непонятно.<br>
> ><br>
><br>
> 2 _разных_ CDN, часть сайтов висит на одном, часть на другом<br>
> Конфигурация realip модуля вынесена в блок http<br>
> CDN_1 шлет IP клиента в HTTP_HEADER_1<br>
> CDN_2 шлет IP клиента в HTTP_HEADER_2<br>
><br>
> хочется прописать ОБА заголовка в realip_header<br>
<br>
</span>Это приведёт к тому, что любой клиент сможет подделать IP, прислав<br>
запрос через CDN_1 с заголовком HTTP_HEADER_2 (или наоборот -<br>
через CDN_2 с заголовком HTTP_HEADER_1).  Потому что CDN'ы<br>
наверняка не фильтрует заголовки, которые сами не выставляют.<br>
<br>
Чтобы работало хоть сколько-нибудь безопасно - нужно, фактически,<br>
делать отдельные конфигурации, с каких адресов принимать какой<br>
заголовок.  Такого realip-модуль сейчас не умеет, и в обозримой<br>
перспективе уметь, скорее всего, не будет.<br>
<br>
Проще всего для подобных задач явно делать разные конфигурации, с<br>
разными блоками server{} для разных CDN.<br>
<span class="im HOEnZb"><br></span></blockquote><div>Как вариант что-то подобное вполне бы устроило.</div><div><br></div><div>Насчет безопасности - допустим я на стороне CDN могу удалить небезопасные заголовки, а вот управлять названием realip-header - нет.</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="im HOEnZb">
--<br>
Maxim Dounin<br>
<a href="http://nginx.org/" rel="noreferrer" target="_blank">http://nginx.org/</a><br>
</span><div class="HOEnZb"><div class="h5">______________________________<wbr>_________________<br>
nginx-ru mailing list<br>
<a href="mailto:nginx-ru@nginx.org">nginx-ru@nginx.org</a><br>
<a href="http://mailman.nginx.org/mailman/listinfo/nginx-ru" rel="noreferrer" target="_blank">http://mailman.nginx.org/<wbr>mailman/listinfo/nginx-ru</a></div></div></blockquote></div><br></div></div>