<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body style="overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;">Добрый день,.<br id="lineBreakAtBeginningOfMessage"><div><br><blockquote type="cite"><div>On 5 Jun 2024, at 7:41 PM, Gena Makhomed <gmm@csdoc.com> wrote:</div><br class="Apple-interchange-newline"><div><div>Здравствуйте, All!<br><br>есть такой конфиг:<br><br># cat /etc/nginx/nginx.conf<br><br>events {<br>    worker_connections 10240;<br>}<br><br>stream {<br>    server {<br>        listen [::]:443 bind default_server ssl;<br>        listen 443 bind default_server ssl;<br>        ssl_reject_handshake on;<br>    }<br>}<br><br>при попытке его тестирования - получаю ошибку:<br><br># nginx -t<br>nginx: [emerg] no handler for server in /etc/nginx/nginx.conf:7<br>nginx: configuration file /etc/nginx/nginx.conf test failed<br><br>если в конфиге поменять слово stream на http<br>- тогда тестирование конфига происходит без проблем.<br><br>почему такое отличие, это ошибка в nginx? можно ли ее исправить,<br>чтобы директива ssl_reject_handshake вела себя одинаково,<br>и в контексте http и в контексте stream?<br></div></div></blockquote><div><br></div><div>Отличие в том, что в http есть дефолтные хендлеры, а в stream их нет т.к. семантика более общая.</div><div><br></div><div>Если в конфиге есть ssl_reject_handshake, то действительно можно было бы не требовать наличие хендлера.</div><div>Однако проверять такое очень неудобно. Переносить ошибку в рантайм тоже не хочется.</div><div>В общем, наверное надо как-то улучшить, но хорошего способа пока не вижу. Будем иметь в виду, спасибо.</div><br><blockquote type="cite"><div><div>workaround: ошибки не будет, если в блок server<br>в блоке stream добавить совершенно не нужную в данном<br>случае и бесполезную директиву proxy_pass 127.0.0.1:443;<br></div></div></blockquote><div><br></div>Проще добавить return.</div><div><br><blockquote type="cite"><div><div>используется бинарная сборка nginx/1.27.0 с сайта nginx.org<br><br># dnf info nginx<br>Name         : nginx<br>Epoch        : 1<br>Version      : 1.27.0<br>Release      : 2.el9.ngx<br>Architecture : x86_64<br>Source       : nginx-1.27.0-2.el9.ngx.src.rpm<br>From repo    : nginx-mainline<br>Summary      : High performance web server<br>URL          : https://nginx.org/<br><br>-- <br>Best regards,<br> Gena<br>_______________________________________________<br>nginx-ru mailing list<br>nginx-ru@nginx.org<br>https://mailman.nginx.org/mailman/listinfo/nginx-ru<br></div></div></blockquote></div><br><div>
<div dir="auto" style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;"><div>----</div><div>Roman Arutyunyan</div><div>arut@nginx.com</div><div><br></div></div><br class="Apple-interchange-newline"><br class="Apple-interchange-newline">

</div>
<br></body></html>