Nginx 有 ssl 模块,但认为它没有

Nginx 有 ssl 模块,但认为它没有

我正在向主机添加 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 开启指示。

http://wiki.nginx.org/HttpSslModule

答案2

看起来真正的问题是我的初始化脚本(在 中/etc/init.d/nginx)仍然在调用旧版本的 Nginx,即没有 SSL 模块的版本,这是由于 $PATH 问题。修复一些符号链接并删除旧版本解决了该问题。

相关内容