网站实现HTTPS加密进阶 - 将Namecheap SSL证书配置到网站

老蒋在"网站实现HTTPS加密进阶 - Namecheap购买Comodo PositiveSSL证书"文章中已经实战记录到购买Namecheap商家提供的Comodo PositiveSSL证书,费用还是比较便宜的年付大约50多元。对于一般用户而言,其实与Let's Encrypt证书也没有多大的区别(也许有区别,但是实际的功能展现是一样的)。在申请到证书且下载到本地之后,我们就可以安装到服务器、网站中。

一般,安装SSL证书都在VPS、或者服务器环境中,虚拟主机中当然也是可以安装的,记得目前大部分cPanel面板都自带Let's Encrypt证书一键安装。在这篇文章中,老蒋准备测试安装到LNMP(Nginx)网站环境中。

第一、整理SSL证书文件

这里我们需要.crt和.key文件。在之前文章中,我们通过工具获取到域名的.key文件,当时老蒋提到过让我们保存到本地的,到时候需要使用到的。

在申请到Namecheap证书之后,我们将证书安装包下载到本地,会看到www_itbulu_com.ca-bundle和www_itbulu_com.crt两个文件,我们需要合并到一个.crt里,将复制.ca-bundle里的所有内容脚本到.crt文件中,这样组合成一个.crt文件。

整理SSL证书文件

这里我们将整理好的www.itbulu.com.key和www.itbulu.com.crt文件上传到/home/ssl/目录中,当然目录我们可以根据实际想要的自己定义,只要记住路径就可以,等会需要配置文件。

第二、修改.conf配置文件

这里我们如果采用的Nginx环境可以用这个方法,如果是Apache需要用到这个方法(参考:常规网站Web环境配置SSL证书 - Nginx、Apache、IIS)。

/usr/local/nginx/conf/vhost/

默认在这个目录,有些时候不同的Nginx配置环境默认目录不同,找到对应域名的.conf文件,然后配置。

listen 443 ssl http2;
ssl_certificate /home/ssl/www.itbulu.com.crt;
ssl_certificate_key /home/ssl/www.itbulu.com.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
ssl_prefer_server_ciphers on;
ssl_session_timeout 10m;
ssl_session_cache builtin:1000 shared:SSL:10m;
ssl_buffer_size 1400;
add_header Strict-Transport-Security max-age=15768000;
ssl_stapling on;
ssl_stapling_verify on;

在对应配置文件的80端口中间加入上面一段脚本。当然如果我们自己的网站需要用到各自的配置文件地址和域名。

修改.conf配置文件

配置完毕之后,我们重启Nginx检查是否有报错,没有报错就应该没有问题。

第三、站点地址更换

因为默认站点里都用的HTTP地址格式,我们需要批量将HTTP替换成HTTPS,如果是内容中的可以使用"两个WordPress内容批量快速替换字符方法 - MYSQL命令和插件工具"进行批量替换修改。如果是模板中的文件,我们需要手工一个个修改,只有全部修改完毕,我们才可以看到地址栏前面的绿锁。

这样,我们就可以将整个网站都设置和启用SSL证书,对于其他证书的配置也可以类似这样。

本文出处:老蒋部落 » 网站实现HTTPS加密进阶 - 将Namecheap SSL证书配置到网站 | 欢迎分享( 公众号:站长事儿 )