<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">чт, 23 янв. 2020 г. в 00:16, Evgeniy Berdnikov <<a href="mailto:bgx@protva.ru">bgx@protva.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">On Wed, Jan 22, 2020 at 08:13:48PM +0300, Maxim Dounin wrote:<br>
> On Wed, Jan 22, 2020 at 05:04:33AM +0200, Gena Makhomed wrote:<br>
[...]<br>
> > И наоборот, если в default_server задано ssl_protocols TLSv1.3;<br>
> > то в других server`ах директива ssl_protocols TLSv1.2; не работает.<br>
> > <br>
> > Это где ошибка - в документации на сайте или в коде nginx 1.17.8?<br>
> <br>
> Возможность задания какой-либо директивы в контексте server - не <br>
> означает, что она будет применяться для всех запросов, попадающих <br>
> в этот блок server.  В случае виртуальных серверов - могут быть <br>
> нюансы.<br>
[...]<br>
> Подробнее можно почитать тут и по ссылкам:<br>
> <br>
> <a href="https://trac.nginx.org/nginx/ticket/844" rel="noreferrer" target="_blank">https://trac.nginx.org/nginx/ticket/844</a><br>
> <br>
> Соответственно отвечая на заданный вопрос: ошибка - в понимании <br>
> написанного в документации.<br>
<br>
 Как человек, наступавший на те же самые грабли, хочу выразить своё<br>
 несогласие с посылом, что тупица здесь читатель. Документация вводит<br>
 в заблуждение, а поведение nginx никак не способствует обходу этой<br>
 ловушки.<br>
<br></blockquote><div><br></div><div>SSL-ная часть nginx обложена граблями примерно полностью.</div><div><br></div><div>как вы думаете, в приведенной ниже конфигурации stapling включится ? не торопитесь с ответом ))<br></div><div><br></div><div>server {</div><div>    listen 443 ssl http2;</div><div>    ssl_stapling on;</div><div><br></div><div>   location / {</div><div>     proxy_pass <a href="http://upstream">http://upstream</a>;<br></div><div>   }<br></div><div>}</div><div><br></div><div>server {</div><div>     listen 443 ssl http2 default;</div><div>     return 404;</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">
 Если в доке написано "context: server", то читатель понимает это<br>
 буквально: для заданного server будет действовать указанная директива.<br>
 И поскольку её задача ограничить перечень протоколов, то именно это,<br>
 с точки зрения пользователя, и должно происходить. Потребителю<br>
 не до того, чтобы вспоминать, что бывают name-based виртуалхосты,<br>
 sni-based, ip-based, процессы, нити, пространства имён и прочая лабуда,<br>
 ему не до проблем их сплетения в разных версиях. Потребитель ожидает,<br>
 что ему дадут простой и удобный интерфейс, где все нюансы продуманы,<br>
 а возможность ошибиться и получить не то, что ожидал -- сведена к<br>
 минимуму. Если же интерфейс позволяет сделать бессмысленные или даже<br>
 противоречивые комбинации параметров -- это плохой интерфейс, и его<br>
 следует по возможности выправлять в рантайме, например, предупреждениями<br>
 вида "извините, в этой конфигурации есть разные версии ssl_protocols<br>
 на одном ip-шнике, это работать не будет, см. подробности в <url>".<br>
<br>
 Ну и в документации капканы тоже желательно упоминать, разумеется.<br>
<br>
 Вероятно, хотелось сделать интерфейс простым и универсальным, чтобы<br>
 пользователю было легче его освоить. С одной директривой "server".<br>
 Но если идти этим путём, то стыковку разных гаек и болтов по их профилю,<br>
 метрикам и шагам резьбы следует прятать под капот, а потребителю выводить<br>
 такой набор педалей и ручек, чтобы он мог решить задачу "ехать" без<br>
 головной боли и гаданий, где же включился тормоз... IMHO.<br>
-- <br>
 Eugene Berdnikov<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>