вт, 24 мар. 2020 г. в 17:51, Maxim Dounin <mdounin@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 mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru