全站启用 HTTPS 啦!

更新:StartSSL 的证书由于某些原因已被 Mozilla 和 Google 封杀,已迁移至 Let’s Encrypt

为了跟上 HTTPS 的大潮流,以及防止流量劫持、运营商广告等,我把整个站点迁到了 HTTPS。站点规模很小,所以过程不算复杂,权且记录步骤:

    1. SSL 证书是在 StartSSL 上申请的免费个人版,申请完之后会得到一些文件和 一份安装教程 。免费版只支持一级域名和 www 二级域名,如想支持所有子域名,需要付费升级证书;
    2. 我的服务器是 Apache(其它服务器按照安装教程来),需要先启用 mod_ssl 模块,然后在 %mysite%.conf 中添加 443 端口支持:
    3. 接着,着手把所有的 HTTP 请求重定向至 HTTPS。
      1. .htaccess 文件中添加:
      2. HSTS,全称 HTTP Strict Transport Security。浏览器在接收到这个报头之后,在 max-age 秒数内,会直接在内部把 HTTP 请求转化为 HTTPS 请求,而不需要任何网络传输,从而减轻服务器压力。
      3. WordPress 支持在 wp-config.php 里定义一个参数,开启后强制使用 HTTPS 登录后台。
    4. 前几步做完之后,别忘了重启 Apache。至此服务器上的配置就做完了。
    5. 下面,进入 WordPress 仪表盘 -> 设置 -> 常规,把 WordPress 地址和站点地址都加上 https://
    6. 结束了?还差一点。在一个 HTTPS 页面内容中出现 HTTP 图片、资源文件、iframe 等,浏览器会认为这是不安全的。所以这一步就要把所有内容中的资源替换为 HTTPS。可以先批量替换所有博文中的 http:// 字样:
      然后如有遗漏,或者外部资源不支持 HTTPS,再手动修改。

发表评论

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