Linux(ubuntu)系统下为wordpress网站开启HTTPS

HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer)是HTTP协议的安全高级版,也是现在网络的大趋势。由于HTTP协议的安全不确定性,会发生传输内容被窃听篡改的风险,在生活中最常见的就是运营商对于网络的劫持,会在HTTP传输协议的网页内插入广告。

HTTPS主要由HTTP和SSL/TLS组成,就是在HTTP传输协议基础上加密。通过认证用户和服务器,最大限度保障信息传输的安全。

HTTPS传输原理随着Google、Apple、Mozilla等大型互联网公司的积极推动,很快我们将迎来更加健康安全的网络环境,因此为我们的网站增加HTTPS协议是非常有必要的。

对于个人站长或者中小型网站来说,商业性的SSL证书成本太高,因此ISRG推出了一项免费的证书服务——Let’s Encrypt

Let’s Encrypt 是国外一个公共的免费SSL项目,由 Linux 基金会托管,它的来头不小,由 Mozilla、思科、Akamai、IdenTrust 和 EFF 等组织发起,目的就是向网站自动签发和管理免费证书,以便加速互联网由 HTTP 过渡到 HTTPS,目前 Facebook 等大公司开始加入赞助行列。并于2018年3月正式支持通配符证书。Let’s Encrypt 宣称将继续清除 Web 上采用 HTTPS 的障碍,让每个网站轻松获取管理证书。

申请方法

为了实现通配符证书,Let’s Encrypt 对 ACME 协议的实现进行了升级,只有 v2 协议才能支持通配符证书。官方介绍 Certbot 0.22.0 版本支持新的协议版本,下面就使用certbot开始申请免费的通配符证书。

服务器系统:Ubuntu16.04 LTS    Web服务器:Nginx     配置域名:a.com

  • 获取Certbot
$ sudo apt-get update
$ sudo apt-get install software-properties-common
$ sudo add-apt-repository ppa:certbot/certbot
$ sudo apt-get update
$ sudo apt-get install python-certbot-nginx 
  • 安装Nginx插件,允许certbot能够将生成站点的HTTPS配置自动修改到Nginx中,你也可以选择手动修改Nginx配置,通过执行命令sudo certbot --nginx certonly
$ sudo certbot --nginx
  • 生成证书

接下来会自动检测服务器绑定域名,并且自动生成证书。

或者你选择了手动配置的方式,可以通过执行命令生成数字证书:

$ sudo certbot -a dns-plugin -i nginx -d "*.example.com" -d example.com --server https://acme-v02.api.letsencrypt.org/directory

将dns-plugin根据实际情况替换,具体请参考:Certbot’s DNS plugins.

证书续期

Let’s Encrypt证书有效期只有90天,按照证书申请完成后的信息提示,证书到期日之前,执行

$ sudo certbot renew --dry-run

共有 0 条评论

发表评论

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