<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">вт, 24 мар. 2020 г. в 17:51, Maxim Dounin <<a href="mailto:mdounin@mdounin.ru">mdounin@mdounin.ru</a>>:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hello!<br>
<br>
On Tue, Mar 24, 2020 at 01:50:17PM +0500, Илья Шипицин wrote:<br>
<br>
> вижу 400-ки на вот такое<br>
> <br>
> 2020/03/24 09:43:55 [info] 22318#22318: *514553220 client sent duplicate<br>
> host header: "Host: <a href="http://example.ru" rel="noreferrer" target="_blank">example.ru</a> <<a href="http://diadoc-api.kontur.ru/" rel="noreferrer" target="_blank">http://diadoc-api.kontur.ru/</a>>", previous<br>
> value: "Host: <a href="http://example.ru" rel="noreferrer" target="_blank">example.ru</a>" while reading client request headers, client:<br>
> X.X.X.X<br>
> <br>
> <br>
> хост в обоих случаях одинаковый.<br>
> понятно, что, наверное, RFC тут не ночевало. с другой стороны, ну послал<br>
> клиент два раза одинаковый хост. никто ж не умер. может пропускать такие<br>
> запросы ? или есть какой-то риск ?<br>
<br>
Есть какой-то риск, даже если хосты строго одинаковые. Например <br>
такой, что "два раза одинаковый хост" - это по RFC то же самое, <br>
что "Host: <a href="http://example.ru" rel="noreferrer" target="_blank">example.ru</a>, <a href="http://example.ru" rel="noreferrer" target="_blank">example.ru</a>", что совсем не то же самое, что <br>
"Host: <a href="http://example.ru" rel="noreferrer" target="_blank">example.ru</a>".<br>
<br>
Ну и до кучи, отклонять такие запросы - прямое требованием RFC 7230:<br>
<br>
A server MUST respond with a 400 (Bad Request) status code to any<br>
HTTP/1.1 request message that lacks a Host header field and to any<br>
request message that contains more than one Host header field or a<br>
Host header field with an invalid field-value.<br>
<br>
Если очень хочется, чтобы "может пропускать", то так было с nginx <br>
0.7.0 и до nginx 1.17.8 включительно. Начиная с nginx 1.17.9 <br>
такие запросы отклоняются. Если есть какие-то самописные клиенты, <br>
которые нарушают RFC и шлют несколько заголовков Host - нужно <br>
исправить этих клиентов.<br></blockquote><div><br></div><div>а можно настройку сделать, чтобы можно было вернуть "как было раньше" ?</div><div><br></div><div>клиентов править, наверное, надо, но это не наша война.<br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
-- <br>
Maxim Dounin<br>
<a href="http://mdounin.ru/" rel="noreferrer" target="_blank">http://mdounin.ru/</a><br>
_______________________________________________<br>
nginx-ru mailing list<br>
<a href="mailto:nginx-ru@nginx.org" target="_blank">nginx-ru@nginx.org</a><br>
<a href="http://mailman.nginx.org/mailman/listinfo/nginx-ru" rel="noreferrer" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx-ru</a></blockquote></div></div>