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