如何自动为不同的子域生成 SSL 证书?在我的工作流程中,不同的子域 ab.mydomain.com、cd.mydomain.com、ab.mynewdomain.com 等将指向我的 Nginx 机器的 IP。
我想为 Nginx 上配置的这些子域生成 SSL 证书。如何自动生成 SSL 证书?有办法吗?有没有任何库可以帮我完成此操作?我也可以从免费 SSL 证书开始,这不会有问题。
我尝试搜索此内容,但找不到任何答案。
答案1
Admiral Noisy Bottom 是对的,LetsEncrypt 可以为您生成有效的证书,而 certbot 是执行此操作的最简单的方法之一。
你可以找到certbot 说明在这里每个平台略有不同。
如果您运行以下命令,Certbot 将为您更改 nginx 配置:
sudo certbot --nginx
第一次运行时您可能需要回答一些问题,但对于未来的续订,它将自动完成。
(您可能需要先备份您的 nginx 配置!但我从来没有遇到过这个问题。)
不要忘记在流程结束时按照他们的指示添加一个 cronjob 来实现自动更新。
我过去犯的一个错误是使用crontab -e
而不是在 处创建文件/etc/cron.d/certbot
。在 crontab 中添加一行可以起作用,但在这种情况下,您需要root
从 cron 行中删除该参数。直接按照他们的说明操作会更容易。