Let’s Encrypt让网站免费启用HTTPS

最近将博客重新部署了,也删掉了之前的数据库,我也不知道为什么要删掉!也很久没有更新博客了!这次博客放弃了之前购买的komodo https证书,这次使用了免费的https证书!网站启用https证书的好处还是很多,比如可以增加博客在搜索引擎中的排名,可以防止运营商的弹窗广告!等等…..

我选择了 Let’s Encrypt这个免费的解决方案。

Let’s Encrypt是一个于2015年三季度推出的数字证书认证机构,旨在以自动化流程消除手动创建和安装证书的复杂流程,并推广使万维网服务器的加密连接无所不在,为安全网站提供免费的SSL/TLS证书。[1][2]

Let’s Encrypt由互联网安全研究小组(缩写ISRG)提供服务。主要赞助商包括电子前哨基金会Mozilla基金会Akamai以及思科。2015年4月9日,ISRG与Linux基金会宣布合作。[3]

用以实现新的数字证书认证机构的协议被称为自动证书管理环境(ACME)。[4]GitHub上有这一规范的草案,[4][5]且提案的一个版本已作为一个Internet草案发布。[6]

Let’s Encrypt宣称这一过程将十分简单、自动化并且免费。[7]

2015年8月7日,该服务更新其推出计划,预计将在2015年9月7日发布首个证书,随后向列入白名单的域名发行少量证书并逐渐扩大发行量。[8]

2015年12月3日,服务进入公测阶段,正式面向公众。[9]

2016年3月8日,ISRG宣布已经签发了第一百万张证书。[10]

2016年4月12日,该项目正式离开Beta阶段。[11]

2017年6月28日,ISRG宣布,他们已经签发了一亿张证书。[12][13]

2015年6月,Let’s Encrypt得到了一个存储在硬件安全模块中的离线的RSA根证书。这个由IdenTrust证书签发机构交叉签名的根证书,被用于签署两个证书。其中一个就是用于签发请求的证书,另一个则是保存在本地的证书,这个证书用于在上一个证书出问题时作备份证书之用。因为IdenTrust的CA根证书目前已被预置于主流浏览器中,所以Let’s Encrypt签发的证书可以从项目开始时就被识别并接受,甚至在用户的浏览器中没有信任ISRG的根证书时也没问题[14]。为了解决对Windows XP的兼容性,目前Let’s Encrypt已经获取了另外两个根证书,原来的证书作为备用。[14]

Let’s Encrypt的开发者们本计划在2015年年末推出签发ECDSA根证书的服务,但该计划已经经历三次推迟,目前定于2018年3月前完成。[15]

2017年6月,Let’s Encrypt宣布将于2018年1月启用ACME v2 API。[16]

2017年7月,Let’s Encrypt宣布将于2018年1月支持通配符证书[17]

以上介绍来自 Wikipedia 的 Let’s Encrypt 词条

Let’s Encrypt部署起来非常简单,使用电子子前哨基金会EFF的 Certbot,就可以完成。

  1. 打开https://certbot.eff.org 官网
  2. 选择部署的系统环境

Let’s Encrypt让网站免费启用HTTPS

我的博客是很常见的LEMP架构,所以我选择了Nginx on Ubuntu,选择完之后你就能看到详细部署教程!

Let’s Encrypt让网站免费启用HTTPS

按照上面的操作,你就能够完成免费的https证书与nginx的配置。

配置完成之后我们可以在nginx的配置文件中查看cerbot 帮我们生成的配置文件,以我的博客的配置文件为例!


server {
listen 80;
listen [::]:80;

server_name xiequan.info www.xiequan.info;

root /data/web/xiequan;
index index.html index.php;

location / {
try_files $uri $uri/ /index.php?$args ;
}

location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
}

location ~ /\.ht {
deny all;
}

client_max_body_size 2048M;

listen 443 ssl http2; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/xiequan.info/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/xiequan.info/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

if ($scheme != "https") {
return 301 https://$host$request_uri;
} # managed by Certbot

# Redirect non-https traffic to https
# if ($scheme != "https") {
# return 301 https://$host$request_uri;
# } # managed by Certbot

}

看到nginx配置文件改动了,说明cerbot帮我们配置好了https证书!!!

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

¥ 打赏支持