我是如何10分钟让WordPress全站HTTPS的

2016-12-16 点击:914

为什么要HTTPS?

记得我以前有一个流量还不错的网站,经常打开很慢,甚至导致JS失效。经检查发现是使用了CNZZ统计代码,而CNZZ域名又被劫持了,导致大量流量被劫持,当然也考虑过HTTPS,但是一看价格,就放弃了,把CNZZ换成百度统计就没事了。不过这件事一直耿耿于怀,如今的互联网越来越不安全,几乎每个人都有遭遇ISP广告,域名劫持等侵害行为,HTTP明文传输的模式,让网站也非常不安全。

必须要HTTPS

谷歌从 2017 年起,Chrome 浏览器将也会采用 HTTP 协议的网站标记为「不安全」网站;苹果从 2017 年 iOS App 将强制使用 HTTPS;在国内热火朝天的小程序也要求必须使用 HTTPS 请求。百度对HTTPS加密的网站优先收录,HTTPS更有利于SEO,在这样的环境下HTTPS是大势所趋,每个WordPress网站都应该使用HTTPS加密协议。

让我们加密吧 Let's encrypt

Let's encrypt是一家不以盈利为目的提供免费CA证书的机构,它旨在让全世界所有的互联网服务能够简单自动化部署加密协议,让https能够在所有的网站中普及。很多著名公司对其提供赞助,比如facebook,思科,mozilla等。它是对ACME(automated certificate management environment)协议的实现,只要实现了ACME协议的客户端都可以跟它交互。

Let's encrypt从2016年初开放以来,超过20M的增长率

LetsEncrypt

Let's Encrypt 的最大贡献是它的 ACME 协议,第一份全自动服务器身份验证协议,以及配套的基础设施和客户端。这是为了解决一直以来 HTTPS TLS X.509 PKI 信任模型,即证书权威(Certificate Authority, CA)模型缺陷的一个起步。

对应WordPress站长来说最大的意义在于,加密流量,避免国内各大ISP惯用的HTTP劫持,提升网站信任度,让WordPress网站更专业。

10分钟部署Let's Encrypt,让WordPress全站HTTPS

安装Let's Encrypt 方法也很简单,以 nginx 为例,直接使用 Github 上 xdtianyu 同学提供的脚本即可。

切换到你希望保存证书及私钥的目录,我选择当前用户的 home,即 ~。下文中所有 /path/to/ 请替换成你服务器上的实际路径;your_domain 同理替换成你自己的域名

下载脚本及配置文件

cd ~  
wget https://raw.githubusercontent.com/xdtianyu/scripts/master/lets-encrypt/letsencrypt.conf  
wget https://raw.githubusercontent.com/xdtianyu/scripts/master/lets-encrypt/letsencrypt.sh  
chmod +x letsencrypt.sh  

下载脚本及配置文件

vim letsencrypt.conf  

编辑Let's Encrypt配置文件,将第2、3、4行中的 Example.com 替换成你自己的域名

./letsencrypt.sh ./letsencrypt.conf

执行 letsencrypt 脚本,获取证书及私钥

server {  
  ...

  location /.well-known/ {
    alias /path/to/.well-known/;
  }

  ...
}

添加 nginx alias

server {  
   listen 443 ssl;
   ssl_certificate /path/to/your_domain.chained.crt;
   ssl_certificate_key /path/to/your_domain.com.key;

   ...
}

修改 nginx 配置,加载私钥和证书

全部操作完成后,重启 nginx 即可。

自动更新证书

Lets Encrypt 的证书需要90天更新,因此你需要一个 cron 命令自动定时运行上述脚本。

0 0 1 * * ~/letsencrypt.sh ~/letsencrypt.conf >> /var/log/lets-encrypt.log 2>&1  

HTTP重定向

如果你希望重定向所有的非 https 到 https 访问,可以在 nginx 配置中添加如下 server block

server {  
    listen 80;
    server_name your_domain.com;
    return https://your_domain.com$request_uri;
}

全站图片文件HTTPS

以前上传的图片,文章中相关的URL并不是https,我们需要一键切换过去,这里需要安装一个插件:Really Simple SSL;安装启用即可全站https,记得让.htaccess文件可写。 到此为止就配置成功了。正规流程熟悉的话也就10分钟,立刻让你的WordPress网站高大上起来,让那些ISP流氓见鬼去吧。
如果你在配置Lets Encrypt配置中遇到不能解决的问题。请联系我们提供技术支持,我们提供HTTPS 收费技术服务,每个网站200元/次。不限于Lets Encrypt,其他SSL证书均可安装,包括阿里云和腾讯云的免费证书。


我们提供HTTPS安装服务,让WordPress更安全,让你的用户更信赖,你的WordPress更加专业。联系QQ:6347007


购买HTTPS安装服务¥200


立即加【QQ:6347007】试用WordPress支付插件

相关产品

  • Easy Digital Downloads 微信支付插件
    Easy Digital Downloads 微信支付插件

相关博客

  • WordPress微信视频直播插件即将发布