我正在尝试在我的nginx中实现“ssl_preread”。我的nginx用“--with-stream_ssl_preread_module”这个模块编译。
我提到“ssl_preread on;”在nginx.conf的server指令中。但我得到的错误。
nginx:[emerg]在/opt/nginx/conf/nginx.conf:43中不允许使用“ssl_preread”指令
我正在关注以下文档。
http://nginx.org/en/docs/stream/ngx_stream_ssl_preread_module.html
答案 0 :(得分:2)
- with-stream
- 与-stream_ssl_preread_module
stream { upstream app { server IP1:Port; server IP2:Port; } map $ssl_preread_server_name $upstream { default app; } server { listen PORT; ssl_preread on; proxy_pass $upstream; } }
这对我有用。如果这对您有用,请告诉我
答案 1 :(得分:0)
也许你需要将 Nginx 更新到最新版本。 1.10我也遇到这个错误,但是1.18配置没问题。
答案 2 :(得分:0)
也许这是一个迟到的答案。从 CentOS 8.3 存储库安装 nginx 1.14
时遇到以下问题。
The error was: MisconfigurationError('Error while running nginx -c /etc/nginx/nginx.conf -t.\n\nnginx: [emerg] unknown "ssl_preread_server_name" variable\nnginx: configuration file /etc/nginx/nginx.conf test failed\n',)
The nginx plugin is not working; there may be problems with your existing configuration.
The error was: MisconfigurationError('Error while running nginx -c /etc/nginx/nginx.conf -t.\n\nnginx: [emerg] unknown "ssl_preread_server_name" variable\nnginx: configuration file /etc/nginx/
nginx.conf test failed\n',)
我通过升级最新的 nginx-1:1.20.0-1.el8.ngx.x86_64
解决了这个问题