给站点开启SSL/HTTPS


给网站地址栏上添加绿色小锁:我变绿了,也变安全了。

国庆旅游归来早,忙趁假期瞎折腾。

为什么要使用https

  1. SSL是应用层和运输层之间的加密协议,相比于http的明文传输来的更加安全。SSL能够有效降低中间人攻击的风险。比如使用Fiddler软件抓取https包的时候就需要先向浏览器添加自己的 CA 证书,因为没有证书信任的话就无法获得加密的内容。SSL安全会话建立过程 | 《计算机网络》
  2. 全站https有利于提升网站在搜索引擎的收入率。在相同权重的情况下,搜索引擎会认为https站点的安全性更高而将网站排在前面。
  3. 站点使用https可以让自己的站点更加醒目(说白了就是想装13啦)。

申请SSL证书

有许多的免费SSL证书提供商。我用的是腾讯云的 DV SSL 证书。在这里可以申请 TrustAsia 提供的免费证书,为期1年。(顺便瞟了一眼 OV 和 EV 的企业付费证书,价格基本5k以上…)

申请需要验证你的主机和域名,会要求在指定位置放置验证文件或者给域名添加一条解析记录。如果你的域名也是从腾讯云买的,它会给你自动添加。验证的速度很快,大约10分钟就能审核通过。

如果你等了1小时还没通过就别等了,赶紧检查一下自己填的信息有没有吧,不要像我一样把域名打错了然后傻等了一天T T。

证书文件

审核通过后会颁发的证书可以下载到本地。打开后里面有为各种http服务器使用的证书和密钥文件。我用的是Apache,就把Apache文件夹下的3个文件上传到服务器上。

编辑Apache配置

编辑 etc/httpd.conf 文件,找到#LoadModule ssl_module modules/mod_ssl.so#Include conf/extra/httpd-ssl.conf,去掉前面的#号注释,启用SSL模组。

编辑/lampp/etc/extra/httpd-ssl.conf文件添加主机和证书:

完成后需要重启Apache服务器。

开启443端口

https协议使用的不是80端口而是443端口。如果有防火墙记得允许443端口的TCP数据包通过。

在安全组中允许TCP443端口

WordPress设置

wordpress目录下的.htaccess文件:

这样使用http访问网页会被301永久重定向至https页面。

加上固定链接消去/index.php的部分就是这样:

编辑wp-config.php

在 “if ( !defined(‘ABSPATH’) )” 前面,即”请不要再继续编辑”的提示前面添加。这样登陆博客时会强制使用https以保障安全。

更改域名信息、固定链接?

在有的教程里面还说需要像更换域名那样把全站的数据库中所有的“http”链接全部转换成“https”。其实不推荐也不需要这么做。上面的$_SERVER['HTTPS'] = 'ON';设置过以后,wordpress是会自动识别转换的。

结束

现在,打开网站 https://blog.beanbang.cn 就可以正常访问了。即使是不加https前缀也能自动跳转到https。由于中间环节多了一个验证加密的步骤,网站打开的时间会比以往更长一些。

网站https标志


参考资料:

添加一条评论

电子邮件地址不会被公开。 必填项已用*标注