部署 Let’s Encrypt
文章目录
更新
- 2019/01/16 修复 crontab 执行错误
- 2017/02/19 初次发布
介绍
网站部署 HTTPS 后可以防止被劫持、中间人攻击等问题,对用户的安全很重要。现在各大网站都已开启全站 HTTPS,连淘宝、京东这种对 CDN 依赖极大的网站都已转换 HTTPS。
Let’s Encrypt 是一个于 2015 年三季度推出的数字证书认证机构,将通过旨在消除当前手动创建和安装证书的复杂过程的自动化流程,为安全网站提供免费的SSL/TLS证书。 来自 Let’s Encrypt - 维基百科,自由的百科全书
可以说现在使用 HTTPS 最大的证书问题也不再是问题了。
环境
- CentOS 7.2
- Nginx 1.10.2
安装
首先安装 EPEL 仓库与 certbot
|
|
配置
获得证书时可以使用 certbot 的 webroot 插件来避免停止服务。
|
|
这样就可以了,使用 https://your-domain
即可访问。
跳转
建议增加 HTTP 跳转到 HTTPS 的配置。在 nginx 网站的配置文件中增加以下内容即可:
|
|
自动续期
因为 Let’s Encrypt 证书默认只有 3 个月有效期,官方建议使用自动续期。
编辑 crontab
|
|
添加以下任务文本:
|
|
注意:
- 最后的
systemctl reload nginx
,只有执行这句后 nginx 才会加载新的证书。 . /etc/profile
用来引入环境变量,否则执行时会提示The nginx plugin is not working
,参考 ./path/to/certbot-auto –nginx · Issue #4937 · certbot/certbot
参考资料
文章作者 狂飙
初次发布 2017-02-19 21:59:12 +0800
上次更新 2019-01-16 21:27:11 +0800