docker 环境使用https证书

在基于 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

生成完的证书需要复制到映射的目录中去。

 

正文完
 0
评论(没有评论)