自定义客户端域的SSL

时间:2017-12-01 21:50:37

标签: ssl heroku lets-encrypt

我有一个应用程序(在heroku中托管),其中客户有一个单独的子域,例如client1.myapp.comclient2.myapp.com我在这里使用通配符SSL证书。

但是,如果客户想要使用自己的自定义域,例如CNAME app.client1.com

如何为客户端自动提供SSL证书(我猜是使用Lets Encrypt),而不会为我提供以类似于firebase等方式上传的证书。为域提供SSL证书。

2 个答案:

答案 0 :(得分:0)

只要可以从互联网访问app.client1.com,您就可以自由设置证书。

如果您的应用程序在unix-like系统上运行,则cerbot docs会描述自动续订的所有步骤。

您基本上必须设置启动续订命令的。 您可以使用命令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为所有人提供免费的自动化证书管理(ACM)   在付费dynos上运行的应用程序。使用ACM,Heroku会自动进行   为您的应用程序提供并续订SSL证书。如果你   您希望手动上传自己的证书,请按照以下步骤操作   这篇文章。

您只需按照https://devcenter.heroku.com/articles/custom-domains

中的说明,在Heroku中创建应用程序,升级dyno并为应用程序配置自定义域名(app.client1.com)