在 nginx conf 目录下新建 ssl 目录,将申请的 ssl证书文件拷贝到此处:
修改 nginx 配置文件使支持 https,修改如下:
server {listen 80;listen 443 ssl;ssl_certificate ssl/cert-xuexiyuan.cn.crt;ssl_certificate_key ssl/cert-xuexiyuan.cn.key;....
新增 listen 443、ssl_certificate、ssl_certificate_key 这三行
$sudo nginx/sbin/nginx -s reload
重新加载配置报错,缺少 http_ssl_module 模块,错误信息如下:
nginx: [emerg] the "ssl" parameter requires ngx_http_ssl_module in /opt/nginx-1.12.2/conf/vhosts/xuexiyuan.cn.conf:3
nginx 添加 SSL 模块
重新编译 nginx 包,在之前的编译的基础上添加 --with-http_ssl_module 模块来编译,将编译后的 nginx 文件替换掉即可。
- 查看之前的编译信息
webadmin@xuexiyuan:~$ /opt/nginx-1.12.2/sbin/nginx -V
nginx version: nginx/1.12.2
built by gcc 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.4)
configure arguments: --prefix=/opt/nginx-1.12.2
- 到源码包中重新编译添加 --with-http_ssl_module
./configure --prefix=/opt/nginx-1.12.2 --with-http_ssl_module
- 执行完成后,运行命令
make
注: 这里不要进行make install,否则就是覆盖安装
- 然后备份原有已安装好的 nginx
cp /opt/nginx-1.12.2/sbin/nginx /opt/nginx-1.12.2/sbin/nginx.bak
- 然后将刚刚编译好的 nginx 覆盖掉原有的nginx(这个时候nginx要停止状态)
cp ./objs/nginx /opt/nginx-1.12.2/sbin
- 然后启动nginx,仍可以通过命令查看是否已经加入成功
webadmin@xuexiyuan:~$ /opt/nginx-1.12.2/sbin/nginx -V
nginx version: nginx/1.12.2
built by gcc 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.4)
built with OpenSSL 1.1.0g 2 Nov 2017
TLS SNI support enabled
configure arguments: --prefix=/opt/nginx-1.12.2 --with-http_ssl_module
来自个人博客: http://www.xuexiyuan.cn/article/detail/176.html