我正在向主机添加 SSL 域。当我尝试重新启动 Nginx 时,它发出警告:
重新启动 nginx:[emerg]:“ssl”参数需要 /etc/nginx/sites-enabled/my_site_conf:16 中的 ngx_http_ssl_module
这令人沮丧,因为实际上我专门重建了 Nginx 和 Passenger 以使其ngx_http_ssl_module
可用;它不在运行实例中,因此我借此机会使用 Nginx 0.8.53 和 Passenger 3.0.1 进行构建。
相关配置块是
服务器 { 监听 0.0.0.0:443 默认 ssl; 服务器名称 our-site.com; ssl_certificate /etc/nginx/ssl/our-site.crt; ssl_certificate_key /etc/nginx/ssl/our-site.key; ssl_会话_超时5分钟; ssl_协议SSLv2SSLv3TLSv1; ssl_ciphers 全部:!ADH:!EXPORT56:RC4+RSA:+高:+中:+低:+SSLv2:+EXP; ssl_prefer_server_ciphers开启;
...等等。(显然我隐藏了主机名,不需要在搜索该域名时出现这个问题。)
- 如何确保正在运行的 Nginx 实例具有活跃的 SSL 模块?
- 我是否忽略了这里一些明显的东西?
答案1
你缺少了SSL 开启指示。
答案2
看起来真正的问题是我的初始化脚本(在 中/etc/init.d/nginx
)仍然在调用旧版本的 Nginx,即没有 SSL 模块的版本,这是由于 $PATH 问题。修复一些符号链接并删除旧版本解决了该问题。