以下是在 CentOS 7.5 下使用 Certbot 生成通配符证书的步骤:
一、安装 Certbot
确保你的系统已经安装了 EPEL(Extra Packages for Enterprise Linux)仓库。如果没有安装,可以使用以下命令安装:
yum install epel-release
安装 Certbot:
yum install certbot
二、生成通配符证书
使用以下命令生成通配符证书,假设你的域名是 aaaa.com,通配符域名为 *.aaaa.com:
certbot certonly --manual --preferred-challenges=dns --server https://acme-v02.api.letsencrypt.org/directory -d *.aaaa.com
执行这个命令后,Certbot 会给出一些指示,你需要按照以下步骤操作:
Certbot 会要求你在域名的 DNS 中添加一条 TXT 记录,以验证你对域名的所有权。根据提示中的具体信息,在你的域名注册商处或 DNS 管理面板中添加相应的 TXT 记录。
添加完 TXT 记录后,等待一段时间让 DNS 记录生效,然后按回车键继续 Certbot 的流程。
三、证书和密钥文件位置
生成成功后,证书文件(.pem格式)和私钥文件(.key格式)通常位于 /etc/letsencrypt/live/<your_domain>/ 目录下,对于这个例子就是 /etc/letsencrypt/live/.aaaa.com/。其中:
全链证书(包含服务器证书和中间证书):/etc/letsencrypt/live/.aaaa.com/fullchain.pem
私钥:/etc/letsencrypt/live/*.aaaa.com/privkey.pem
请注意,Let’s Encrypt 的通配符证书有一些限制和注意事项,并且证书有效期为 90 天,你可以设置自动更新以确保证书始终有效。同时,确保在生成证书的过程中按照提示正确操作,以避免出现错误。如果在执行过程中遇到问题,可以参考 Certbot 的官方文档获取更多帮助。
四、Nginx 中使用证书
如果要在 Nginx 中使用 Let’s Encrypt 生成的通配符证书,可以按照以下步骤进行操作:
备份 Nginx 配置文件(可选但推荐):
cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak
打开 Nginx 配置文件:
vi /etc/nginx/nginx.conf
在 server 块中配置证书:
找到要使用通配符证书的 server 块。
添加以下内容:
server {
listen 443 ssl;
server_name *.rhinox.cn;
ssl_certificate /etc/letsencrypt/live/*.aaaa.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/*.aaaa.com/privkey.pem;
# 其他 Nginx 配置...
}
根据实际情况调整 server_name 和其他配置。
检查 Nginx 配置是否正确:
plaintext
复制
nginx -t
如果没有错误提示,说明配置正确。
重新加载 Nginx 使配置生效:
plaintext
复制
systemctl reload nginx
这样,Nginx 就会使用 Let’s Encrypt 生成的通配符证书来为 *.aaaa.com 的域名提供 HTTPS 服务。
评论区