目录
一、 nginx 的 ssl 模块安装
1、查看 nginx 是否安装 http_ssl_module 模块。
$ /usr/local/nginx/sbin/nginx -V
如果出现 configure arguments: --with-http_ssl_module, 则已安装(下面的步骤可以跳过,进入 nginx.conf 配置)。
2、下载 nginx 安装包,
ninx/1.9.9---- nginx官网1.9.9版本tar.gz包。
wget http://nginx.org/download/nginx-1.9.9.tar.gz
3、解压安装包
tar -zxvf nginx-1.9.9.tar.gz
4、配置 ssl 模块
[root@First ~]# cd nginx-1.9.9 [root@First nginx-1.9.9]# ./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-openssl=/usr/bin/openssl
5、使用 make 命令编译
(使用make install会重新安装nginx),此时当前目录会出现 objs 文件夹。用新的 nginx 文件覆盖当前的 nginx 文件【cp前先把nginx停掉】
[root@First nginx-1.9.9]# make
[root@First nginx-1.9.9]# cp ./objs/nginx /usr/local/nginx/sbin/
6、再次查看安装的模块
(configure arguments: --with-http_ssl_module说明ssl模块已安装)。
$ /usr/local/nginx/sbin/nginx -V
[root@First bin]# /usr/local/nginx/sbin/nginx -V nginx version: nginx/1.9.9 built by gcc 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC) built with OpenSSL 1.0.2k-fips 26 Jan 2017 TLS SNI support enabled configure arguments: --prefix=/usr/local/nginx --with-http_ssl_module
二、 SSL 证书部署
1、下载申请好的 ssl 证书文件
https://www.topunix.com/post-2172.html
2、压缩包到本地并解压
(这里是用的 pem 与 key 文件,文件名可以更改)。在 nginx/conf/conf 目录新建 certssl 文件夹存放证书文件。
root@First nginx]# cd /usr/local/nginx/conf
[root@First conf]# mkdir certssl
3、将这两个文件上传至服务器的 certssl目录里。
此处可能不需要
因为阿里云给的ssl 证书是key和pem,需要将pem转换为crt
[root@First certssl]# openssl x509 -outform der -in www.topunix.com.pem -out www.topunix.com.crt
三、nginx.conf 配置
1、编辑 /usr/local/nginx/conf/nginx.conf 配置文件:
配置 https server。注释掉之前的 http server 配置,新增 https server。申请哪一个域名的证书,就需要用相同的域名认证
server { listen 8888 ssl; server_name www.topunix.com; ssl on; # 启用ssl功能 ssl_certificate certssl/www.topunix.com.pem; ssl_certificate_key certssl/www.topunix.com.key; ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; ssl_prefer_server_ciphers on; #下面location部分保持 }
配置完成,检查nginx配置文件是否正确;
[root@First nginx]# /usr/local/nginx/sbin/nginx -t
四、重载服务,并重登网站
[root@First nginx]# /usr/local/nginx/sbin/nginx -s reload
1、登录新服务,https启用了,显示安全。
2、下面的子网站显示不安全,灰色叹号
解决:这是因为页面中包含其他不安全的资源,也就是调用了http协议,这种情况见网站所有http调用链接修改为https就可以了。
文章评论