Nginx配置https时报 the “ssl“ parameter requires ngx_http_ssl_module
Posted 毛奇志
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Nginx配置https时报 the “ssl“ parameter requires ngx_http_ssl_module相关的知识,希望对你有一定的参考价值。
今天再做nginx下https配置的时候,配置完nginx重启的时候,报了如下错误:
nginx: [emerg] the "ssl" parameter requires ngx_http_ssl_module in \\
/usr/local/nginx/conf/nginx.conf:112
原因也很简单,nginx缺少http_ssl_module模块,编译安装的时候带上–with-http_ssl_module配置就行了,但是现在的情况是我的nginx已经安装过了,怎么添加模块,其实也很简单,往下看:
1.在 /usr/local/src/ 目录下添加安装包 nginx-1.17.9.tar.gz,并解压:tar zxvf nginx-1.17.9.tar.gz
2.切换到源码包 (解压目录,不是安装目录/usr/local/nginx/sbin)
cd /usr/local/src/nginx-1.17.9
添加新配置
bash ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
运行完之后,在 make 一下,这里不要进行 make install ,否则就是覆盖安装了
3.备份已安装好的nginx
cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
4.停止正在运行的所有nginx进程
5.将刚刚编译好的 nginx 覆盖原有的nginx
cp ./objs/nginx /usr/local/nginx/sbin/
系统会提供是否覆盖,输入 yes 即可
6.启动nginx,并查看 ssl 模块添加是否成功
启动:
cd /usr/local/nginx/sbin # 从第6步开始才进入安装目录,前面5步都是解压目录
./nginx
查看启动状态:
/usr/local/nginx/sbin/nginx -V # 注意这里是大写-V
nginx.conf 配置:
server
listen 80;
server_name wxiaoxin.top;
#把http的请求重定向到https的请求
rewrite ^(.*)$ https://$host$1 permanent;
#return 301 https://wxiaoxin.top$request_uri;
server
listen 443 ssl;
server_name wxiaoxin.top;
ssl on;
ssl_certificate /software/data/3913039_www.wxiaoxin.top.pem;
ssl_certificate_key /software/data/3913039_www.wxiaoxin.top.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
location /
proxy_pass http://wxiaoxin.top:8443;
# root html;
# index index.html index.htm;
error_page 500 502 503 504 /50x.html;
location = /50x.html
root html;
以上是关于Nginx配置https时报 the “ssl“ parameter requires ngx_http_ssl_module的主要内容,如果未能解决你的问题,请参考以下文章
nginx 提示the "ssl" directive is deprecated, use the "listen ... ssl" directive in
nginx 提示the "ssl" directive is deprecated, use the "listen ... ssl" directive in
Linux Nginx配置https,解决“parameter requires ngx_http_ssl_module”的问题
nginx: the "ssl" parameter requires ngx_http_ssl_module in /usr/local/nginx/conf/nginx.con
nginx: [emerg] the "ssl" parameter requires ngx_http_ssl_module in /usr/local/nginx/conf/n