分类目录

链接

2017年十二月
« 11月   1月 »
 123
45678910
11121314151617
18192021222324
25262728293031

近期文章

热门标签

博主推荐

现在位置:    首页 > Wordpress > 正文
free:10分钟把你的WordPress网站改成HTTPS
Wordpress 暂无评论 阅读(558)

为什么要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 脚本,获取证书及私钥

如果报No model name argparse
请安装:
  1. yum install python-argparse

添加 nginx alias

  1. server {  
  2.    listen 443 ssl;
  3.    ssl_certificate /path/to/your_domain.chained.crt;
  4.    ssl_certificate_key /path/to/your_domain.com.key;
  5.    
  6.    #当然你之前的网配置root,index.php什么的还是要有
  7.    ...
  8. }

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

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

自动更新证书

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

;下面是每个月1号晚上1点更新一次

  1. 0 0 1 1 ? ~/letsencrypt.sh ~/letsencrypt.conf  

HTTP重定向

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

  1. server {  
  2.     listen 80;
  3.     server_name your_domain.com;
  4.     return https://your_domain.com$request_uri;
  5. }

全站图片文件HTTPS

以前上传的图片,文章中相关的URL并不是https,我们需要一键切换过去,这里需要安装一个插件:Really Simple SSL;安装启用即可全站https,记得让.htaccess文件可写。 到此为止就配置成功了。正规流程熟悉的话也就10分钟,立刻让你的WordPress网站高大上起来,让那些ISP流氓见鬼去吧。

 

free:10分钟把你的WordPress网站改成HTTPS

本文版权归数据库之家所有,转载引用请完整注明以下信息:
本文作者:Bruce
本文地址:free:10分钟把你的WordPress网站改成HTTPS | 数据库之家

发表评论

留言无头像?