nginx 是否可以从 URL 加载证书

nginx 是否可以从 URL 加载证书

我们托管许多不同的域,目前证书存储在数据库中。将证书从数据库中取出并放入文件中以便 nginx 可以加载它们变得越来越繁琐。

如果我们能做到如下的事情就更好了:

server {
    server_name www.example.com;
    listen   443 ssl;

    ssl_certificate_key https://cert-distributor.acme.com/$host/server.key;
    ssl_certificate https://cert-distributor.acme.com/$host/server.crt;
...
}

如果证书被缓存以防万一发生故障,则可以获得加分cert-distributor.acme.com

答案1

回答。简短。它并不简短。在撰写本文时,文件保留

Syntax: ssl_certificate file;

解决方法。有多种解决方法可以解决您的问题。我认为其中一些是首选方式。因此,顺序很重要。

  • 您可以使用 Ansible、Salt 或 Chef 部署证书;并将其保存在主机本地仅有的

  • 您可以覆盖nginx systemd-unit需要从 下载文件URL到特定路径并重新启动nginx

  • 您可以制作systemd-timer,下载证书并重新启动nginx

笔记。记住安全终点中间人攻击。此外。如何验证特定主机是否被允许下载文件?Kerberos?

相关内容