微魔在之前就曾经分享过Letsencrypt的教程(传送门),那时这个项目还处于测试版的阶段,不久前,这个令人瞩目的项目终于脱离了“测试版”,正式版出来了。因此,微魔觉得有必要更新一个正式版的教程。使用Letsencrypt之前,首先要明确几点:1. 和常规收费的SSL不同,Letsencrypt不需要手动生成scr等等,而是直接由脚本把这些都生成好;2. Letsencrypt可能是目前“最短有效期”的SSL,虽然免费,但是需要每3个月更新一次。了解以上情况之后,我们知道自己的任务了,一个是安装与使用LetsEncrypt的脚本,另外一个是配合脚本来更新证书。
Letsencrypt的安装与使用教程
1.下载-安装
安装命令使用了git命令,如果没有安装,请采用apt-get或者yum、zypper、dnf等相应命令进行安装
git clone https://github.com/letsencrypt/letsencrypt cd letsencrypt ./letsencrypt-auto --help
2.申请证书
一般安装完成后,即可使用“letsencrypt”直接操作了,参考如下命令,-d后面跟域名
生成证书前需要暂停Web服务器。
letsencrypt certonly --standalone -d example.com -d www.example.com
生成的安全证书和key等文件位于/etc/letsencrypt/live/your_domain_name,结合自己的Web服务器软件进行配置
3.更新Letsencrypt安全证书的脚本
官方为我们提供了一个示范的更新脚本的案例,其中以Nginx为例,另外记得把/path/to/修改成自己的安装目录;脚本编写好之后,配合crontab进行按时运行(官方推荐每天一运行…)。
#!/bin/sh service nginx stop # 关闭Nginx服务器 /path/to/letsencrypt-auto renew -nvv --standalone > /var/log/letsencrypt/renew.log 2>&1 LE_STATUS=$? service nginx start # 开启Nginx服务器 if [ "$LE_STATUS" != 0 ]; then echo Automated renewal failed: cat /var/log/letsencrypt/renew.log exit 1 fi
本文命令主要“抄袭”官方教程
教程很详细,学习收藏了!