首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在cert更改时重新启动Nginx或重新加载证书缓存。

在cert更改时重新启动Nginx或重新加载证书缓存。
EN

Stack Overflow用户
提问于 2020-06-17 14:53:30
回答 1查看 5.9K关注 0票数 5

背景:

我在Docker内部运行一个应用程序,它将由随机用户管理,这些用户通常对Docker本身没有任何了解。我正在构建该应用程序,以尽可能多地从the服务器本身配置。

它运行3个非根容器:

Certbot

  • Container 2: Nginx

  • Container 3: Postgresql

我能够让Django应用程序通过网站本身运行certbot来获得证书,并将证书复制到nginx正在使用的卷中。但是,旧的或自签名的证书似乎在启动时由nginx缓存,因此在重新启动nginx之前不会使用新的证书。

问题是,我现在必须重新启动nginx,或者以某种方式自动重新加载证书。或者通过触发从Django容器到Nginx容器的重新启动,可能是通过卷曲之类的方式。或者,我可以使用类似于看门狗的东西来监视文件以进行文件更改。

问题:

如果证书更改,自动重新加载nginx的最佳方法是什么?或者,即使不重新启动服务器,我也可以清除证书缓存中的证书吗?你在这里有什么建议?

谢谢你提前帮忙!

EN

回答 1

Stack Overflow用户

发布于 2020-06-17 16:45:47

重新加载应足以加载新的证书。

一些备选方案:

  • 使用主机cron重新加载nginx

0 */6 * * * docker exec <nginx_container_name> nginx -s reload

  • 使用certbot部署钩子(您需要在nginx容器中运行certbot,或者想出一种方法使部署钩子远程)

代码语言:javascript
复制
/etc/letsencrypt/cli.ini:
deploy-hook = nginx -s reload
票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62431911

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档