我正在尝试在 heroku 的后端应用程序上将 https 设置为这样的子域(例如):
而且我对我发现的所有相互冲突的在线文档感到非常困惑。另外,我对所有这些 SSL 东西都不太感兴趣。此应用程序将仅作为数据服务的后端。我的前端现在是我域下 OpenShift 上的 https,并且工作正常。这是我所做的:
- 我的 heroku 应用程序上有一个“爱好”dyno(每月 7 美元),我读到我需要 启用这些东西。
- 我有一个 cloudflare 帐户,它为 https 上的 openshift 前端提供我的域。
- 我的域名是从 GoDaddy 购买的——所以现在它只是指向 cloudflare 名称服务器。
- 我在 heroku 上设置了子域:api.mydomain.com(设置选项卡)。它回来说我的“DNS 目标”是 api.mydomain.com.herokudns.com。它还显示“域:您的应用程序可以在 http://api.mydomain.com 找到”。
我点击了“配置 SSL”>“使用自动证书管理自动配置”,它返回说:
“将您的 DNS 设置更新到我们的安全域”
老实说,不太确定那是什么意思。我试图返回到 cloudflare 并添加 DNS 记录(DNS 选项卡)。像这样:
Type: CNAME Name: api <--is this right? Value: api.mydomain.com.herokudns.com <-- what do I put here?
但这行不通。我怎么知道?我打字
heroku certs:auto
返回“失败”。还尝试了值:mydomain.com.herokudns.com,前面没有“api”。我真的很困惑,文档也没什么帮助。谁能帮帮我?
最佳答案
我找到了一个更简单的解决方案。 Cloudflare's tutorial 中提到了该修复程序.
诀窍是使用您的标准 heroku 应用程序地址(例如:myapp.herokuapp.com
)代替 heroku 的 SSL 界面中显示的 xxx.herokudns.com
然后,要使您的自定义子域(例如:api.foodomain.com
)指向它,只需在 Cloudflare 的 DNS 中添加一条 CNAME 记录
CNAME api myapp.herokuapp.com
它应该有效(它对我的情况有效)。
关于ssl - heroku cloudflare 子域 SSL 设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46498440/