
序
自从浏览器开始主动提示网站不安全开始,我就一直想找机会把博客站aTechie做一下升级,终于……终于这次找到机会了(太懒了,哈哈哈)。

关于HTTPS
先用一张图片来直观展现HTTPS的原理

简单的说,HTTPS的安全性通过引入SSL带来的。具体能带来哪些安全性,请自行百度或谷歌。对于我的场景来说,只要比在互联网上“裸奔”要强,就是一种安全。
环境准备
- 阿里云环境
- SSL证书控制台
- 域名控制台
- ECS环境
- CentOS
- Nginx
- Wordpress 后台
原理说明
- 通过SSL证书控制台购买免费的由DigiCert提供的DV域名级SSL证书(Domain Validation SSL Certificate)
- 通过域名验证并审核通过后,获得DV SSL证书。
- 在Nginx中部署DV SSL证书。
- 修改Wordpress配置
操作记录
购买证书——免费的!

注1:每个账号最多能申请20个免费的证书。(截止20200905)
注2: 免费证书仅支持单域名。即www.abc.cn和abc.cn是2个域名,需要两个DV SSL证书。
证书申请、验证和审核
证书申请



域名验证
- 切换到域名控制台

- 添加TXT解析记录

- 切换回SSL证书控制台进行验证

证书审核
- 域名验证通过后提交证书审核


下载证书
几分钟的功夫证书就生成了,然后把对应Nginx类型的证书下载下来。


在Nginx上部署并配置证书
部署证书
在ECS上找到Nginx的主目录,我这里是/etc/nginx。在其中建立一个专门放置证书的目录cert,并通过FTP将证书上传到该目录中。

修改nginx对应站点配置

在www.abc.cn.conf中,参照之前http 80端口访问的方式,新增https 443端口的访问配置。
server {
listen 443 ssl;
server_name www.abc.cn;
ssl_certificate cert/www.abc.cn.pem;
ssl_certificate_key cert/www.abc.cn.key;
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;
......
}
在原有的http 80端口访问的方式中,增加301重定向。
server {
listen 80;
server_name www.abc.cn;
rewrite ^/(.*)$ https://www.abc.cn/$1 permanent;
......
}
应用站点配置
#nginx -s reload
https访问验证
https访问验证
wget https://www.abc.cn
--2020-09-03 13:21:39-- https://www.abc.cn/
正在解析主机 www.abc.cn (www.abc.cn)... 1.1.1.1
正在连接 www.abc.cn (www.abc.cn)|1.1.1.1|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:未指定 [text/html]
正在保存至: “index.html”
index.html [ <=> ] 97.40K --.-KB/s 用时 0.1s
http重定向验证
wget http://www.abc.cn
--2020-09-03 13:25:03-- http://www.abc.cn/
正在解析主机 www.abc.cn (www.abc.cn)... 1.1.1.1
正在连接 www.abc.cn (www.abc.cn)|1.1.1.1|:80... 已连接。
已发出 HTTP 请求,正在等待回应... 301 Moved Permanently
位置:https://www.abc.cn/ [跟随至新的 URL]
--2020-09-03 13:25:03-- https://www.abc.cn/
正在连接 www.abc.cn (www.abc.cn)|1.1.1.1|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:未指定 [text/html]
正在保存至: “index.html.1”
index.html.1 [ <=> ] 97.40K --.-KB/s 用时 0.1s
特别说明
前面提到过免费证书仅支持单域名。即www.abc.cn和abc.cn是2个域名,需要两个DV SSL证书。如果只申请了www.abc.cn的证书,通过重定向把访问abc.cn的https请求指向www.abc.cn,会发生什么情况呢?
wget https://abc.cn
--2020-09-03 13:29:43-- https://abc.cn/
正在解析主机 abc.cn (abc.cn)... 1.1.1.1
正在连接 abc.cn (abc.cn)|1.1.1.1|:443... 已连接。
错误: 没有匹配的证书主体别名 (Subject Alternative Name)。
请求的主机名为 “abc.cn”。
要以不安全的方式连接至 abc.cn,使用“--no-check-certificate”。
可以看到,网站访问是没有问题,但会提示“不安全”,为了避免这种情况,就再申请一个abc.cn的证书吧,反正也不要钱。
Wordpress站点信息修改
直接将http://www.abc.cn/修改为https://www.abc.cn/就可以了。

自此,Wordpress网站的HTTPS升级就全部完成了,分分钟可能有点夸张,半个小时应该绰绰有余了。
如果本文对您有帮助,请点击获取阿里云的代金券,以最优惠的价格支持您云上业务的发展!

本文详细记录了将WordPress网站升级至HTTPS的全过程,包括在阿里云购买免费SSL证书,进行域名验证和审核,Nginx的证书部署与配置,以及Wordpress后台的HTTPS信息修改。通过半小时内的操作,实现网站安全升级。
1499

被折叠的 条评论
为什么被折叠?



