<div dir="ltr"><div>выглядит это примерно так.</div><div><br></div><div>живешь, живешь, думаешь, что у тебя все ок.</div><div>потом обновляешься до 1.17.9, и по логам идут 400-ки.</div><div><br></div><div>смотришь в error.log - там duplicate Host header (про который ты ранее и знать не знал, и без понятия, в чем там вообще прблема, потому что ее нет никакой)</div><div><br></div><div>какая-то абстрактная задача запретить такие хедера, задача ради самой задачи<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">вт, 24 мар. 2020 г. в 18:56, Илья Шипицин <<a href="mailto:chipitsine@gmail.com">chipitsine@gmail.com</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"><div dir="ltr">так а как мы бы узнали, что у нас такое есть. никакого режима "dry run"<br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">вт, 24 мар. 2020 г. в 18:51, Maxim Dounin <<a href="mailto:mdounin@mdounin.ru" target="_blank">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 06:27:57PM +0500, Илья Шипицин wrote:<br>
<br>
> вт, 24 мар. 2020 г. в 17:51, Maxim Dounin <<a href="mailto:mdounin@mdounin.ru" target="_blank">mdounin@mdounin.ru</a>>:<br>
> <br>
> > 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>
> ><br>
> <br>
> а можно настройку сделать, чтобы можно было вернуть "как было раньше" ?<br>
<br>
Нет.<br>
<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>
</blockquote></div>