在基于 CentOS/RHEL 的系统上
启用 EPEL 仓库并安装 Certbot:
sudo yum install epel-release -y
sudo yum install certbot python3-certbot-nginx -y
sudo certbot certonly –webroot -w /var/www/html -d yourdomain.com -d www.yourdomain.com
-w /var/www/html
:指向你的 Nginx 容器中映射到宿主机的 Webroot 路径。
Webroot 配置错误
- Certbot 使用
-w /var/www/html
指定了 Webroot 路径。 - 确保 Nginx 已正确将
.well-known/acme-challenge/
目录映射到该路径。 - 检查 Nginx 配置,确保有以下内容:
location /.well-known/acme-challenge/ {
root /root/dnmp/services/nginx/ssl/;
}
- Certbot 在验证时需要能够通过 HTTP 访问
.well-known/acme-challenge/
。
测试 Webroot
确保可以访问 .well-known/acme-challenge/
目录:
mkdir -p /root/dnmp/services/nginx/ssl/.well-known/acme-challenge/
echo “test” > /root/dnmp/services/nginx/ssl/.well-known/acme-challenge/testfile curl http://xqt.io/.well-known/acme-challenge/testfile curl http://www.xqt.io/.well-known/acme-challenge/testfile
如果返回 test
,说明 Webroot 配置正常。
重新运行 Certbot
生成完的证书需要复制到映射的目录中去。
正文完