duplicate Host header

Maxim Dounin mdounin на mdounin.ru
Вт Мар 24 13:50:01 UTC 2020


Hello!

On Tue, Mar 24, 2020 at 06:27:57PM +0500, Илья Шипицин wrote:

> вт, 24 мар. 2020 г. в 17:51, Maxim Dounin <mdounin at mdounin.ru>:
> 
> > Hello!
> >
> > On Tue, Mar 24, 2020 at 01:50:17PM +0500, Илья Шипицин wrote:
> >
> > > вижу 400-ки на вот такое
> > >
> > > 2020/03/24 09:43:55 [info] 22318#22318: *514553220 client sent duplicate
> > > host header: "Host: example.ru <http://diadoc-api.kontur.ru/>", previous
> > > value: "Host: example.ru" while reading client request headers, client:
> > > X.X.X.X
> > >
> > >
> > > хост в обоих случаях одинаковый.
> > > понятно, что, наверное, RFC тут не ночевало. с другой стороны, ну послал
> > > клиент два раза одинаковый хост. никто ж не умер. может пропускать такие
> > > запросы ? или есть какой-то риск ?
> >
> > Есть какой-то риск, даже если хосты строго одинаковые.  Например
> > такой, что "два раза одинаковый хост" - это по RFC то же самое,
> > что "Host: example.ru, example.ru", что совсем не то же самое, что
> > "Host: example.ru".
> >
> > Ну и до кучи, отклонять такие запросы - прямое требованием RFC 7230:
> >
> >    A server MUST respond with a 400 (Bad Request) status code to any
> >    HTTP/1.1 request message that lacks a Host header field and to any
> >    request message that contains more than one Host header field or a
> >    Host header field with an invalid field-value.
> >
> > Если очень хочется, чтобы "может пропускать", то так было с nginx
> > 0.7.0 и до nginx 1.17.8 включительно.  Начиная с nginx 1.17.9
> > такие запросы отклоняются.  Если есть какие-то самописные клиенты,
> > которые нарушают RFC и шлют несколько заголовков Host - нужно
> > исправить этих клиентов.
> >
> 
> а можно настройку сделать, чтобы можно было вернуть "как было раньше" ?

Нет.

-- 
Maxim Dounin
http://mdounin.ru/


Подробная информация о списке рассылки nginx-ru