[Nginx] 增加SSL时,启动报 "ssl parameter requires ngx_http_ssl_module" 错误

问题

在腾讯云申请sll证书后,按照要求配置完 nginx.conf

    server {
        listen       443 ssl;
        server_name  域名;

        ssl_certificate      域名_bundle.crt;
        ssl_certificate_key  域名.key;

        ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  5m;
        ssl_protocols TLSv1.2 TLSv1.3;

        ssl_ciphers  ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
        ssl_prefer_server_ciphers  on;

        location / {
            root   /home/run/web;
            index  index.html index.htm;
        }
    }

启动时报错。

分析

nginx缺少http_ssl_module模块,编译安装的时候带上–with-http_ssl_module配置就行了,但是现在的情况是我的nginx已经安装过了,怎么添加模块?以我的nginx为例子
①nginx的安装目录是/usr/local/nginx这个目录,
②源码包在/usr/local/src/nginx-1.21.0目录

操作步骤

  1. 之前是yum方式安装,无源码,所以先下载源码
wget http://nginx.org/download/nginx-1.21.0.tar.gz
  1. 解压后,进入源码目录
tar -zxvf nginx-1.21.0.tar.gz
cd nginx-1.21.0
  1. 编译
    (这里不要进行make install,否则就是覆盖安装)
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
make
  1. 备份原来nginx配置文件
cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
  1. 保证nginx是关闭状态
nginx -s stop
  1. 复制刚编译生成的配置覆盖原有的配置
cp ./objs/nginx /usr/local/nginx/sbin/
  1. 启动nginx
nginx
posted @ 2022-02-11 10:18  哆啦梦乐园  阅读(381)  评论(0编辑  收藏  举报