Let’s Encrypt泛域名SSL证书申请

为什么要用 SSL

HTTPS是HTTP的加密协议。使用HTTPS协议可以防止中间人攻击,防止网络流量包被窃听。
讲得简单点,就是可以保护客户端数据在发送至服务器端时的安全性。
同时也可以验证网站服务端的身份。

不仅如此,新一代HTTP/2协议也是建立在HTTPS之上的。想要客户端和服务端使用HTTP/2协议必须使用HTTPS协议进行传输。

更现实的问题是,Chrome已经将所有HTTP协议的站点都标记为了不安全。。。

Let’s Encrypt

用官网的话来说吧

Let’s Encrypt is a free, automated, and open Certificate Authority.

旨在使全网HTTPS化,促进互联网安全。

(当然是免费的了23333

申请步骤

曾经用certbot申请泛域名证书,确实也是可行的,就是太麻烦了。后来发现了更好的申请脚本–acme.sh

安装

安装就很简单了。。

curl  https://get.acme.sh | sh
# 让alias生效
source ~/.bashrc

配置DNS API

acme.sh通过DNS提供商的API自动完成操作,因此需要先设置DNS API
DNS服务商很多,具体列表请看GitHub链接

这里只以我的Godaddy域名和DNS提供商为例

首先去Godaddy申请一个生产环境的DNS管理API,然后在服务器执行

export GD_Key="1234"
export GD_Secret="asdasdasd"

至此,DNS的API就添加到环境变量了

申请签发证书

直接执行命令

acme.sh --issue --dns dns_gd -d evi0s.com -d *.evi0s.com

由于是申请泛域名证书,要经过DNS验证TXT记录,有API的情况下,一般5分钟左右才能全部完成。

签发成功后会提示证书存放位置。看一下,然后愉快的给Nginx配上HTTPS和HTTP/2吧

发表评论

发表回复

*

沙发空缺中,还不快抢~