为什么要用 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吧
本文采用 CC-BY-SA 协议进行授权,原创文章转载请注明:转载自:Let’s Encrypt泛域名SSL证书申请
发表评论
沙发空缺中,还不快抢~