heroku cloudflare子域SSL设置

可可

我正在尝试在heroku的后端应用上将https设置为这样的子域(例如):

https://api.mydomain.com

我对发现的所有相互冲突的在线文档感到非常困惑。另外,我对所有这些SSL东西都比较满意。该应用程序将仅作为数据服务的后端。现在,我的前端是我所在域下的OpenShift上的https,并且运行正常。这是我所做的:

  1. 我在heroku应用程序上有一个“爱好” dyno(每月7美元),我读到我需要启用此功能。
  2. 我有一个cloudflare帐户,该帐户可为https上的openshift前端提供域服务。
  3. 我是从GoDaddy购买域名的,所以现在它只指向cloudflare名称服务器。
  4. 我在heroku(设置标签)上设置了子域api.mydomain.com。回来并说我的“ DNS目标”是api.mydomain.com.herokudns.com。它还显示“域:您的应用程序可以在http://api.mydomain.com上找到”。
  5. 我单击“配置SSL”>“使用自动证书管理自动配置”,然后返回说:

    “将您的DNS设置更新到我们的安全域”

  6. 老实说,我不太确定这意味着什么。我试图回到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和Heroku不相处。使用cloudflare中的SSL。就是这样:

  1. 在heroku上禁用自动认证: heroku certs:auto:disable
  2. 在heroku上删除您的域并重新开始
  3. 再次在heroku上添加(sub)域
  4. 键入heroku domains以查看REAL域名现在是什么-在未启用ACM的情况下,它可能会返回到... herokuapp.com而不是... herokudns.com
  5. 像这样在CNAME下的cloudflare(DNS标签)中设置一个:

    CNAME | yoursubdomainname | yourdomainname.com.herokuapp.com

  6. 在cloudflare中设置页面规则,如下所示:http:// yourdomainname.com/ =>始终使用https

  7. 在“加密”选项卡上,使用“完全SSL”。

  8. 等待一个小时左右,以确保它们全部生效。

希望能对某人有所帮助。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章