在 nginx 中配置 HTTPs 证书
1、下载证书
2、配置 nginx.conf
server { # 和 HTTP 的server 不是一个,注意区分
listen 443 ssl; # 这个端口是 https 的端口
server_name hankunpeng.top;
ssl_certificate /usr/local/nginx/ssl/server.pem;
ssl_certificate_key /usr/local/nginx/ssl/server.key;
ssl_client_certificate /usr/local/nginx/ssl/server.crt;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM;
ssl_prefer_server_ciphers on;
location /work {
root html;
index index.html;
}
}
3、重启服务
./nginx -s reload
重启报错
报错信息
the “ssl“ parameter requires ngx_http_ssl_module
原因 :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、进入刚解压的源码包
cd /usr/local/src/nginx-1.17.9
3、添加新的配置
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
运行完之后,在 make
一下,这里不要进行 make install
,否则就是覆盖安装了
4、备份原来的可执行文件
cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
5、停止运行的nginx 进程(kill)
6、覆盖原有的可执行文件
cp /usr/local/src/nginx-1.17.9/objs/nginx /usr/local/nginx/sbin/
7、启动 nginx ,测试 https