前言:
众所周知从某些公司购买HTTPS证书,一个域名每年都要几千个大洋(不是一般的黑)。那么有没有免费,答案是有。现隆重推荐(Let’s Encrypt 免费证书)
EEF 电子前哨基金会、 Mozilla 基金会和美国密歇根大学成立了一个公益组织叫 ISRG ( Internet Security Research Group ),这个组织从 2015 年开始推出了 Let’s Encrypt 免费证书。这个免费证书不仅免费,而且还相当好用,所以我们就可以利用 Let’s Encrypt 提供的免费证书部署 https 了。
Let’s Encrypt 证书除了免费,还支持域名通配符或泛域名。好东西必须分享,走起。
准备工作
安装Certbot
以 centos7 为例
Certbot 的官方网站是 https://certbot.eff.org/ ,打开这个链接选择自己使用的 web server 和操作系统,EFF 官方会给出详细的使用方法。
1.先安装snapd
sudo rpm -ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
sudo systemctl enable --now snapd.socket
sudo ln -s /var/lib/snapd/snap /snap
sudo snap install core; sudo snap refresh core
2.若是安装certbot-auto,需要先卸载
sudo yum remove certbot
3.安装Certbot
sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/bin/certbot
4.核心命令 创建证书 采用DNS进行验证
certbot certonly --manual --preferred-challenges=dns
看到如上图所示先不要动:
5.配置DNS
要求配置 DNS TXT 记录,从而校验域名所有权,也就是判断证书申请者是否有域名的所有权。
给 _acme-challenge.example.com
配置一条 TXT 记录.
以阿里云上的域名为例,添加一条txt记录:
6.测试记录是否生效
dig -t txt _acme-challenge.yindesheng.top @223.6.6.6
确认生效后,回车执行,输出如下:
恭喜您,证书申请成功,证书和密钥保存在下列目录:
total 4
lrwxrwxrwx. 1 root root 38 Mar 8 21:35 cert.pem -> ../../archive/yindesheng.top/cert1.pem
lrwxrwxrwx. 1 root root 39 Mar 8 21:35 chain.pem -> ../../archive/yindesheng.top/chain1.pem
lrwxrwxrwx. 1 root root 43 Mar 8 21:35 fullchain.pem -> ../../archive/yindesheng.top/fullchain1.pem
lrwxrwxrwx. 1 root root 41 Mar 8 21:35 privkey.pem -> ../../archive/yindesheng.top/privkey1.pem
-rw-r--r--. 1 root root 692 Mar 8 21:35 README