分分钟搞定Wordpress网站HTTPS升级

tech2025-05-05  4

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

关于HTTPS

先用一张图片来直观展现HTTPS的原理 简单的说,HTTPS的安全性通过引入SSL带来的。具体能带来哪些安全性,请自行百度或谷歌。对于我的场景来说,只要比在互联网上“裸奔”要强,就是一种安全。

环境准备

阿里云环境 SSL证书控制台域名控制台 ECS环境 CentOSNginx 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升级就全部完成了,分分钟可能有点夸张,半个小时应该绰绰有余了。

如果本文对您有帮助,请点击获取阿里云的代金券,以最优惠的价格支持您云上业务的发展!

参考资料

Chrome 和 Firefox 即将开始在不安全的网站显示警告信息域名型(DV),企业型(OV),增强型(EV)三种SSL证书之间的区别
最新回复(0)