haizhilingyu 的个人知识记录

Open Source, Open Mind,
Open Sight, Open Future!

创建免费https证书

创建免费https证书

访问https://certbot.eff.org/instructions?ws=nginx&os=ubuntufocal&commit=%3E页面选择自己的web容器和操作系统

以ubuntu为例

操作1:安装certboot

snap install --classic certbot

certbot certonly --authenticator=dns-aliyun --dns-aliyun-credentials='/etc/letsencrypt/credentials.ini' --preferred-challenges dns -d "*.xiweihai.site" -d xiweihai.site --manual

操作2:添加命令软链

ln -s /snap/bin/certbot /usr/bin/certbot

操作3:给nginx自动添加https证书,前提是nginx中配置了域名

certbot --nginx

操作4:证书续期

certbot renew --dry-run

参考文章:https://blog8.flyky.org/20191108/certbot-DNS-TXT-check/

获取泛域名签发证书

获取泛域名签发证书(manual,通过DNS-TXT记录来验证域名有效性)
标题上线啦,这篇主要还是来讲这个验证问题的,感觉用这种方式签发更稳当一点。

certbot certonly  --preferred-challenges dns -d "*.example.com" -d example.com --manual

用这个命令来手动验证DNS签发
这里我用example.com来假设要签的域名,-d后面跟着一个域名,如果有多个域名要签的话记得每一个单独的域名前都要写-d。
我指定了两个-d参数,因为certbot的泛域名其实只支持诸如*.example.com,如要直接使用example.com,就得为其单独也签发一条。

回车执行之后,会开始提示你给你的域名添加TXT解析记录。

这里将提示你为域名添加一个_acme-challenge的TXT记录,记录值为生成的一串字符。
这个只需要你去DNS服务商那里添加即可,这里如果你 -d 了几条不同的二级域名,那每个二级域名都要添加记录;在你添加完一个域名的记录值,在控制台回车之后会提示你下一个域名的记录值

在你添加完记录保存之后,最好要检查一下解析记录。
在其他终端输入下面命令(示例example.com,记得修改):

nslookup -type=txt _acme-challenge.example.com 8.8.8.8

或者

dig -t txt _acme-challenge.example.com

如果包含你所添加的记录值,那么说明添加成功

那现在就可以控制台继续回车,不会意外就会把签发的证书文件保存,控制台打印出来证书文件的存放位置,一般情况下是会保存在/etc/letsencrypt/live/example.com目录下

这个目录下一般会有四个文件:

cert.pem: 服务器证书
chain.pem: 包含Web浏览器为验证服务器而需要的证书或附加中间证书
fullchain.pem: cert.pem + chain.pem
privkey.pem: 证书的私钥

我们一般用fullchain.pem和privkey.pem就可以了


标题:创建免费https证书
作者:haizhilingyu
地址:https://xiweihai.site/articles/2024/04/26/1714076260022.html