0
点赞
收藏
分享

微信扫一扫

使用Docker容器签发和自动续期Let‘s Encrypt证书

b91bff6ffdb5 2022-03-11 阅读 76
dockerssl

1、docker下载镜像

docker pull  certbot/certbot

2、certbot 启动配置

docker run -it --rm --name certbot \
-v "/root/docker/certbot/ssl/:/etc/letsencrypt/" \
-v "/root/docker/nginx/www/:/var/www/html/" \
-v "/root/docker/certbot/letsencrypt/:/var/lib/letsencrypt" \
-v "/root/docker/certbot/log/:/var/log/letsencrypt" \
certbot/certbot certonly -n --no-eff-email --email demo@demo.com --agree-tos --webroot -w /var/www/html -d www.baidu.com

说明:

--rm                                                    执行完成后便删除实例

/root/docker/certbot/ssl/                     生成证书等信息位置
/root/docker/nginx/www/                    nginx的根页面地址  (这个位置 配置很重要,webroot 会请                                                              求这个位置)
/root/docker/certbot/letsencrypt/       certbot执行生成的信息
/root/docker/certbot/log/                    certbot执行生成的日志

 --email demo@demo.com               配置自己的真实邮箱地址

--webroot -w /var/www/html              指向对应nginx的根页面地址

-d www.baidu.com                             域名,多个域名可以多次写这个配置

3、执行生成后,证书在配置位置的live里

4、可能存在的问题:

原因:

域名下的 /.well-known/acme-challenge/NHz9-CH4W0RkSC2rH1BORGtdEdk9-43JM3dXiWd_U_o 这个路径,Let's Encrypt 服务器访问不到,所以需要配置一下 nginx/conf/nginx.conf 文件

在 nginx 的 nginx.conf 文件中写入以下配置

server { 
listen 80;
server_name www.ok.com;
location ^~ /.well-known/acme-challenge/ {
default_type "text/plain";
root /www;
}
location = /.well-known/acme-challenge/ {
return 404;
}
}


 

 

 

举报

相关推荐

0 条评论