为自己的 WordPress 域名添加 SSL 证书吧!

HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。

什么要给我的域名添加 SSL 证书呢?原因是为了将 Chief's Lab 全站 HTTPS化;而为什么要 HTTPS化呢?我们知道,HTTP协议传输的数据都是未加密的,也就是明文的,因此使用HTTP协议传输隐私信息非常不安全,为了保证这些隐私数据能加密传输,于是网景公司设计了SSL(Secure Sockets Layer)协议用于对HTTP协议传输的数据进行加密,从而就诞生了HTTPS。简单来说,HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,要比http协议安全。

还有很重要的一点,那就是http页面在浏览器地址栏中会显示一个不安全的字样,看着是在太别扭难受惹,为了变成一把小锁看着舒服点,启动 HTTPS 还是很重要der~(雾

#准备工作

  1. 开设好了的 WordPress 以及可以正常访问的域名

  2. 不用钱(免费 SSL 证书你值得拥有)

  3. 一点 Linux 知识(依旧本文会介绍)

  4. 脑子

  5. 来个BGM

#申请免费的 SSL 证书

首先打开腾讯云的 SSL证书页面,点这里在完成注册并完成实名验证后(不多介绍惹,很简单der),猛击点击立即购买,跳转到购买界面

当你看到价格时,心想这不是坑我吗,这价格略贵吧喂!(

不用着急,仔细看看是有免费的 SSL 证书的,选择下图中的域名型免费版(DV),就可用申请由 TrustAsia签发的单域名、年限为1年的 SSL 证书啦

接着填如你的域名地址和你的邮箱,下面的不用管,直接下一步就完成了申请

  • 说起来为什么用腾讯云申请 SSL 证书而不用阿里云呢?原因在于阿里云的有点迷,反正我是没太弄清楚其过程,为了简单方便起见就用腾讯云好了

#验证域名身份

为了确定这个域名是你的,需要验证你的身份。点击手动 DNS 验证

出现的这些信息很重要,是需要添加到你的域名的 DNS 解析中完成验证的,先不要关闭

回到你的阿里云控制台的域名页面,找到你的域名右侧的解析,点击添加规则,对照着刚才那个页面的信息填入以下内容,然后点击确定即可

再返回你的腾讯云 SSL 证书这里,点击完成验证就验证完成了

#下载证书并上传到服务器的 Nginx 里

在腾讯云 SSL 证书管理这里,当完成验证后状态应显示为已颁发,此时就可用点击右侧的下载将你的证书文件下载下来。下载之后里面提供了各种证书文件,我们要用到的是 Nginx 的,找到下图中这两个文件,将其解压出来,然后再打包成 Zip 格式,确保打包后的 Zip 文件中只有这两个文件

然后打开之前装好的 Xshell,准备远程连接你的服务器并上传证书。在连接成功之后依次输入以下内容

SHELL

#安装 rz sz 文件传输
yum -install -y lrzsz




#进入 Nginx 目录


cd /usr/local/nginx/


#创建一个叫 cert 的文件夹


mkdir cert


#进入 cert 文件夹


cd cert/




#将刚才打包的证书 Zip 压缩包发送到服务器


rz


#解压


unzip cert.zip


#删除压缩包


rm cert.zip


#进入 Nginx配置文件目录


cd ../conf/


#使用 vim 编辑配置文件


vim nginx.conf


  • 这里提一下 vim 编辑器,具体的内容可以谷歌百度找到相关教程,不过这里我们只需要用到几点,一是按 i 进入编辑模式(这时候你才能修改内容),二是输入完成之后需要按 esc 返回命令模式,三是在命令模式下按 : 进入底线命令模式,这时输入 q 是退出,w 是保存, wq 是保存并推出, q! 是不保存强制退出(重要)

这时候就进入了 Nginx 的配置文件中了,用方向键往下找到 server 部分,修改添加部分内容,如下

TEXT

1
#第一个 server 块,文件中本身就存在,只需要修改添加部分
2
server
3
{
4
listen 443; #修改 80 default_server 为 443
5
#listen [::]:80 default_server ipv6only=on;
6
server_name lab-ch76.top; #改成你域名的名字
7
index index.html index.htm index.php;
8
root /home/wwwroot/default;
9
10
#添加 SSL 相关配置
11
ssl on;
12
ssl_certificate ../cert/1_lab-ch76.top_bundle.crt; #根据具体情况更改文件名
13
ssl_certificate_key ../cert/2_lab-ch76.top.key; #这里也是
14
ssl_session_timeout 5m;
15
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
16
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
17
ssl_prefer_server_ciphers on;
18
# SSL 配置结束
19
#略过一大段……
20
}
21
22
#第二个 server 块,用来让 http 访问的强制转发到 https 访问,需要自己添加
23
server
24
{
25
listen 80 default_server;
26
rewrite ^(.*) https://$host$1 permanent;
27
}

按 Esc 然后输入:wq回车保存并退出

SHELL

1
#进入端口设置
2
vim /etc/sysconfig/iptables

检查是否开启了 443 端口,即是否存在-A INPUT -p tcp -m tcp –dport 443 -j ACCEPT,如果没有,请在中间任意一行添加,但是不要添加到文件最前或者最后,修改完成后按 Esc 然后输入:wq回车保存并退出

SHELL

1
#关闭 Nginx
2
nginx -s stop
3
#如果有报错,根据错误信息修改相关设置,直到没有错误可以关闭为止
4
#进入 Nginx 启动目录
5
cd /usr/local/nginx/sbin/
6
#启动 Nginx
7
./nginx
8
#检查是否开启了 443 端口监听
9
netstat -anp

出现下图中的文字代表 443 端口监听正常,这时候就可以用 https 访问啦

#配置你的 WordPrss 以支持 Https

当我们兴奋地用 https 访问的时候,却惊奇地发现网页出现了一大堆异常状况,比如图片显示不出来,文章无法访问等,不用担心,这只是因为你还没有配置好而已

打开 WordPress 后台界面,将上次修改过的地址前面的 http 修改成 https

然后点击插件-安装插件,搜索Really Simple SSL,这是一个很简单地自动为你的 WordPress 配置好你的 SSL 证书的插件,安装之后根据提示完成就可以啦!

#完成!

这时候再直接访问你的域名,看到了地址栏前面的小锁,点击它可以看到绿色的连接是安全的,爽到~

这样一来 Chief's Lab 就完成了全面 HTTPS 化了,看起来舒服多了,也许接下来需要的就是 SEO 优化以增加搜索引擎的排名,让我的 Lab 能被搜到了……这个下次再说(咕咕咕

未经允许不得转载:球盖网 » 为自己的 WordPress 域名添加 SSL 证书吧!

赞 (0) 打赏

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏