certbot 是一个提供命令行来自动配置网站 SSL 证书的工具。访问其官网可以获得不同操作系统以及不同 Web 服务器下的使用教程。
Let's Encrypt 是一个提供免费 SSL 证书认证服务的非营利性项目。旨在加速网页由 HTTP 协议到 HTTPS 的转变。
该教程以 CentOS 7.4 和 Apache 2.4 为例。最后更新时间:2018年3月24日。
安装 certbot
- 首先开启 EPEL 源
1 |
|
- 安装 certbot-apache
1 |
|
安装证书
如果你想直接自动安装自签名的证书,直接运行:
1 |
|
根据提示操作即可。
安装 Let's Encrypt 证书
但一般个人自签名证书是无法被浏览器认可的。所以我们需要安装 Let's Encrypt 提供的证书。
步骤如下:
安装 DNS 插件
certbot 提供了 一些DNS 插件 帮助我们自动配置证书服务。根据域名的 DNS 服务商安装对应的 certbot 插件。
这里以 CloudXNS 为例。CloudXNS 提供免费的域名托管服务。
1 |
|
准备 DNS 配置文件
在下面的安装证书的过程中需要一个配置文件来确认域名。
首先通过 CloudXNS 提供的 API 获取认证信息,然后以下列格式保存该认证信息:
1 |
|
安装
使用 certbot 自动安装证书。(注意替换下面命令中的域名)
1 |
|
根据提示输入上文中准备好的 DNS 配置文件路径。然后继续按提示操作即可。
可能遇到的问题
Q: 找不到 DNS 服务商对应的 certbot dns 插件
A: 手动配置或更换 DNS 服务商
Q: 提示 openSSL 版本过低
A: 卸载重装,具体步骤百度可得
Q: 执行安装证书命令时提示缺少 python 库
A: 根据报错信息安装对应的库。StackOverflow 有类似问题的解决方案。
其他问题请留言。