更新alpine Nginx容器中的Let's Encrypt证书(certbot方式)


本文说明如何在Docker的alpine nginx容器中更新https证书,

非Docker容器请参考:使用Let's Encrypt免费为网站加上HTTPS

步骤如下:

1、alpine中安装certbot

# apk add --no-cache certbot

2、在alpine容器中执行更新命令:

# 使用【默认配置目录】的更新命令
# certbot renew

# 使用【自定义配置目录】的更新命令
# certbot renew --config-dir /etc/nginx/conf.d/certs

# 使用【自定义配置目录】的更新命令,并且在更新完成后重启nginx
# certbot renew --config-dir /etc/nginx/conf.d/certs --post-hook "nginx -s reload" 

然后重启Nginx,搞定。

3、也可以使用定时任务自动执行,请参考文章《Docker使用cron定时任务》。

1条评论

jonise says: 回复

alpine Nginx容器 报错 文件只读 该如何解决?
/etc/nginx/conf.d # certbot renew --config-dir /etc/nginx/conf.d/certs
Saving debug log to /var/log/letsencrypt/letsencrypt.log
The following error was encountered:
[Errno 30] Read-only file system: '/etc/nginx/conf.d/certs/.certbot.lock'
Either run as root, or set --config-dir, --work-dir, and --logs-dir to writeable paths.

发表评论

电子邮件地址不会被公开。 必填项已用*标注

昵称 *