说明
- 为你的网站设置免费的通配符ssl证书!
- Let’s Encrypt 是国外一个公共的免费 SSL 项目,由 Linux 基金会托管。它的来头不小,由 Mozilla、思科、Akamai、IdenTrust 和 EFF 等组织发起,目的就是向网站自动签发和管理免费证书。以便加速互联网由 HTTP 过渡到 HTTPS,目前 Facebook 等大公司开始加入赞助行列。
- Let’s Encrypt 已经得了 IdenTrust 的交叉签名,这意味着其证书现在已经可以被 Mozilla、Google、Microsoft 和 Apple 等主流的浏览器所信任。用户只需要在 Web 服务器证书链中配置交叉签名,浏览器客户端会自动处理好其它的一切,Let’s Encrypt 安装简单,使用非常方便。
避免各种问题,请用root身份执行。
# 新建目录
$ mkdir /root/certbot && cd /root/certbot
# 下载 Certbot 客户端
$ wget https://dl.eff.org/certbot-auto
# 设为可执行权限
$ chmod a+x certbot-auto
生成证书
$ ./certbot/certbot-auto certonly -d "*.xxx.com" --manual --preferred-challenges dns-01 --server https://acme-v02.api.letsencrypt.org/directory
参数说明
- certonly 表示插件,Certbot 有很多插件。不同的插件都可以申请证书,用户可以根据需要自行选择。
- -d 为哪些主机申请证书。如果是通配符,输入 *.xxx.com (根据实际情况替换为你自己的域名)。
- –preferred-challenges dns-01,使用 DNS 方式校验域名所有权。
- –server,Let’s Encrypt ACME v2 版本使用的服务器不同于 v1 版本,需要显示指定。
执行以上命令以后,根据命令行输出依次输入以下值并回车:‘你的邮箱’、‘a’、‘y’、‘y’
此时界面上会生成一条“DNS TXT”记录值,先不要回车!!!到你的域名解析处增加一条TXT记录:
# 记录(固定):
_acme-challenge
# 记录类型(固定):
TXT
# 记录值(随机,根据你的命令行提示):
OS6cDNZvLDa-qwIOk8oipElwr3WVeJsqSvb0mLPpp_0
保证该记录添加成功以后,再回来执行回车继续执行,成功以后会出现类似如下结果:
IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/xxx.com/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/xxx.com/privkey.pem
Your cert will expire on 2018-06-12. To obtain a new or tweaked
version of this certificate in the future, simply run certbot-auto
again. To non-interactively renew *all* of your certificates, run
"certbot-auto renew"
- If you like Certbot, please consider supporting our work by:
Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
Donating to EFF: https://eff.org/donate-le
到了这一步后,恭喜您,证书申请成功。 证书和密钥保存在下列目录:
$ tree /etc/letsencrypt/live/xxx.com/
.
├── cert.pem
├── chain.pem
├── fullchain.pem
└── privkey.pem
到你nginx站点去配置ssl吧!