Re: proxy cache key и fastcgi cache key
Валентин Бартенев
vbart at nginx.com
Fri Jan 10 13:07:57 UTC 2014
On Friday 10 January 2014 14:06:43 Gena Makhomed wrote:
> On 10.01.2014 13:45, Gena Makhomed wrote:
> >>>> Кому интересно почитать, подробней вот ссылка.
> >>>> http://habrahabr.ru/post/166855/
>
> Хотя, есть и более простой вариант,
> как на стороне nginx закрыть эту уязвимость с $http_host.
>
> $host
> in this order of precedence: host name from the request line, or host
> name from the “Host” request header field, or the server name matching a
> request
>
> Eсли в request line оказывается одно значение $host,
> а в “Host” request header field оказывается другое значение,
> тогда просто возвращать 400 Bad Request, поскольку от нормального
> клиента (браузера и т.п.) такой запрос никакогда придти не может.
>
> Это формально правильный способ, но менее удобный для разработчиков,
> потому что вполне может быть такой вариант, что это default server
> и запрос придет вообще без заголовка Host: - тогда в HTTP_HOST
> будет пусто и backend скорее всего нормально не отработает.
[..]
Единственный правильный способ: пойти в IETF с предложением исправить
соответствующие RFC, которые в том числе оговаривают, что следует делать
при получении нескольких заголовков Host, ну а потом уже сюда.
--
Валентин Бартенев
Подробная информация о списке рассылки nginx-ru