我有一个应用程序(在heroku中托管),其中客户有一个单独的子域,例如client1.myapp.com
,client2.myapp.com
我在这里使用通配符SSL证书。
但是,如果客户想要使用自己的自定义域,例如CNAME
app.client1.com
如何为客户端自动提供SSL证书(我猜是使用Lets Encrypt),而不会为我提供以类似于firebase等方式上传的证书。为域提供SSL证书。
答案 0 :(得分:0)
只要可以从互联网访问app.client1.com
,您就可以自由设置lets-encrypt证书。
如果您的应用程序在unix-like
系统上运行,则cerbot docs会描述自动续订的所有步骤。
您基本上必须设置启动续订命令的cronjob。
您可以使用命令crontab -e
编辑linux机器中的crons,并在文件末尾放置类似的内容:
0 15 1 * * certbot renew
这将在每个月的第一天运行命令并尝试续订证书。如果您需要不同的设置,请检查crontab.guru。
如果要从自定义脚本调用cerbot
命令,可以将此类脚本添加到cronjob(并将输出保存到自定义文件中)。
E.g:
0 15 1 * * python cert_autorenew.py >> cron.log 2>&1
请注意,如果您需要app.client1.com
的证书,则您发送的续订请求必须解析为服务器app.client1.com
。
这就是您如何向letsencrypt
展示对您的域名的控制权。
答案 1 :(得分:0)
如果您在Heroku /新域中托管新应用程序是针对Heroku应用程序的,只要您使用付费dyno运行应用程序,他们就会为您处理SSL证书。您应该将其作为客户的应用程序!
https://devcenter.heroku.com/articles/ssl
中的说明,在Heroku中创建应用程序,升级dyno并为应用程序配置自定义域名(app.client1.com)Heroku为所有人提供免费的自动化证书管理(ACM) 在付费dynos上运行的应用程序。使用ACM,Heroku会自动进行 为您的应用程序提供并续订SSL证书。如果你 您希望手动上传自己的证书,请按照以下步骤操作 这篇文章。