ssl - heroku cloudflare 子域 SSL 设置

标签 ssl heroku dns cloudflare

我正在尝试在 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'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/

相关文章:

sockets - 为什么在 SSL 程序(客户端/服务器 openssl)之后 Wireshark 向我显示协议(protocol) X11 和 TCP 而不是 SSL 或 TLS?

php - 编写将捕获用户并通过雅虎邮件的应用程序(如果正确)转到 yahoomail

ruby-on-rails - 如何将额外的转换选项传递给 Heroku 上的回形针?

java - Spring Boot 2.4.2 - Redisson 客户端 - 启动时的 DNS 解析问题

azure - 在 AKS 中,如何将对集群 DNS 的访问限制为内部虚拟机

iphone - 用于推送通知的 Apple SSL 证书 x 常规 SSL 证书

ruby-on-rails-3 - 部署到 heroku Assets 管道 Sprockets::fileNotFound

ruby-on-rails - 我可以在不重新编译 slug 的情况下更新 Heroku 上的单个源文件吗?

apache - 子域的重写规则

android - 如何防止我的 Android 应用程序被嗅探?