这篇笔记用来记录如何申请免费的 SSL 证书,通过本文介绍的方式所申请的证书有效期只有三个月,请谨慎选择。
准备
像这类提供免费 SSL 证书的网站非常多,这里我选择的平台是 FreeSSL.cn 。
在正式开始之前,你得准备一个邮箱,注册 一个 FreeSSL.cn
账号,然后登录。
将需要申请证书的域名填写在输入框中,选择多域名通配符,然后点击创建免费的SSL 证书。
我这里选择的是泛域名,根据你自己的实际情况,去创建相应子域名的证书:
example.com
:主域名*.example.com
:泛域名
选择浏览器生成。
点击确认创建。
添加TXT 记录
打开需要申请 SSL 证书的域名管理后台,找到 DNS 管理。
添加 TXT 验证,将刚才的记录值与TXT 记录添加到对应的TXT 类型。
注意⚠️:记录值区分大小写。
检测是否配置成功。
在完成验证之前不要离开当前页面,验证成功之后,点击验证。
如果配置成功没问题,就可以点击验证,下载证书就完成了。
注意⚠️:使用此方式获取的证书,有效期只有三个月。
后记
因为 FreeSSL.cn 后面改版了,之前是直接生成对应的 *.key
和 *.pem
文件,现在则变成了 ACME 自动化申请。
前两步还是一样的,只是到了第三步,不一样。
现在需要选择一种部署方式,来获取证书:
Cerbot 的部署方式其他笔记已经提到了,因此这里介绍 acme.sh
的方式。
首先需要安装 acme.sh
,可以直接使用下面的命令进行安装:
1 | curl https://get.acme.sh | sh -s email=my@example.com |
如果上面官方下载地址失败 或者 太慢,可以选用国内的备用地址:
1 | curl https://gitcode.net/cert/cn-acme.sh/-/raw/master/install.sh?inline=false | sh -s email=my@example.com |
安装完成之后,当前目录下会多出一个 .acme.sh
文件,查看该文件夹:
1 | [root@localhost]$ ls -al |
其中 .acme.sh
就是一会需要用到的 shell 脚本。
获取证书:
1 | acme.sh --issue -d my@example.com --dns dns_dp --server https://acme.freessl.cn/v2/DV90/directory/z8s58p0gs74t0839d3mu |
将示例命令中的域名替换成自己的域名即可。
正常执行完成之后,当前文件夹下,会多出一个以域名为名的文件:
- fullchain.cer:证书(域名证书.crt + 根证书(root_bundle).crt)
- my.example.com.key:密钥
有了这两个文件之后,就可以轻松配置 ssl 了。