Добрый день,. > On 5 Jun 2024, at 7:41 PM, Gena Makhomed <g...@csdoc.com> wrote: > > Здравствуйте, All! > > есть такой конфиг: > > # cat /etc/nginx/nginx.conf > > events { > worker_connections 10240; > } > > stream { > server { > listen [::]:443 bind default_server ssl; > listen 443 bind default_server ssl; > ssl_reject_handshake on; > } > } > > при попытке его тестирования - получаю ошибку: > > # nginx -t > nginx: [emerg] no handler for server in /etc/nginx/nginx.conf:7 > nginx: configuration file /etc/nginx/nginx.conf test failed > > если в конфиге поменять слово stream на http > - тогда тестирование конфига происходит без проблем. > > почему такое отличие, это ошибка в nginx? можно ли ее исправить, > чтобы директива ssl_reject_handshake вела себя одинаково, > и в контексте http и в контексте stream?
Отличие в том, что в http есть дефолтные хендлеры, а в stream их нет т.к. семантика более общая. Если в конфиге есть ssl_reject_handshake, то действительно можно было бы не требовать наличие хендлера. Однако проверять такое очень неудобно. Переносить ошибку в рантайм тоже не хочется. В общем, наверное надо как-то улучшить, но хорошего способа пока не вижу. Будем иметь в виду, спасибо. > workaround: ошибки не будет, если в блок server > в блоке stream добавить совершенно не нужную в данном > случае и бесполезную директиву proxy_pass 127.0.0.1:443; Проще добавить return. > используется бинарная сборка nginx/1.27.0 с сайта nginx.org > > # dnf info nginx > Name : nginx > Epoch : 1 > Version : 1.27.0 > Release : 2.el9.ngx > Architecture : x86_64 > Source : nginx-1.27.0-2.el9.ngx.src.rpm > From repo : nginx-mainline > Summary : High performance web server > URL : https://nginx.org/ > > -- > Best regards, > Gena > _______________________________________________ > nginx-ru mailing list > nginx-ru@nginx.org > https://mailman.nginx.org/mailman/listinfo/nginx-ru ---- Roman Arutyunyan a...@nginx.com
_______________________________________________ nginx-ru mailing list nginx-ru@nginx.org https://mailman.nginx.org/mailman/listinfo/nginx-ru