使用 Let's Encrypt 注册 ssl 证书
使用 Let’s Encrypt 注册 ssl 证书
本文使用环境
ubuntu 16.04
Let’s Encrypt 简介
为了在您的网站上启用 HTTPS,您需要从证书颁发机构(CA)获取证书(一种文件)。Let’s Encrypt 是一个证书颁发机构(CA)。要从 Let’s Encrypt 获取您网站域名的证书,您必须证明您对域名的实际控制权。您可以在您的 Web 主机上运行使用 ACME 协议的软件来获取 Let’s Encrypt 证书。– 摘自 letsencrypt.org
Cerbot 简介
Certbot is a free, open source software tool for automatically using Let’s Encrypt certificates on manually-administrated websites to enable HTTPS.
Certbot is made by the Electronic Frontier Foundation (EFF), a 501(c)3 nonprofit based in San Francisco, CA, that defends digital privacy, free speech, and innovation. – 摘自 cerbot 官网 certbot.eff.org
Certbot 是Let’s Encrypt官方推荐的获取证书的客户端,可以帮我们获取免费的Let’s Encrypt 证书。
安装 cerbot
1 | sudo add-apt-repository ppa:certbot/certbot |
申请证书 & 配置
1 | certbot certonly --webroot -d pandaomeng.com -d www.pandaomeng.com |
证书生成完毕后,我们可以在 /etc/letsencrypt/live/
目录下看到对应域名的文件夹,里面存放了指向证书的一些快捷方式。
这时候我们的第一生成证书已经完成了,接下来就是配置我们的web服务器,启用HTTPS。
配置 web 服务器,启用 nginx
1 | server { |
自动更新 SSL 证书
Let’s Encrypt 证书 90天过期,我们使用 linux 系统自带的 cron 来配置定时任务,在证书即将到期的时候运行命令自动更新证书
执行
1 | crontab -e |
添加以下内容
1 | * */12 * * * certbot renew --quiet --renew-hook "/etc/init.d/nginx reload" |
它表示,每 12 小时,系统会执行一次 certbot renew 的命令,执行成功之后重启 nginx
至此,免费 SSL 证书配置完成。
其他
如果使用七牛的图床,可以使用七牛云的免费证书