DNS 设置:OpenShift 与 CloudFlare / rhcloud

Posted

技术标签:

【中文标题】DNS 设置:OpenShift 与 CloudFlare / rhcloud【英文标题】:DNS Settings: OpenShift with CloudFlare / rhcloud 【发布时间】:2014-12-07 09:09:44 【问题描述】:

我正在尝试在 CloudFlare 上设置 DNS 转发到我的 Openshift 页面 (the-domain.rhcloud.com)。

但是当我进入 CloudFlare DNS 设置并尝试更改 A 设置时,我收到此错误:

您输入的“the-domain.rhcloud.com”不是有效的 IP 地址。

它似乎在要求一个静态 IP 地址。似乎其他托管服务可以为 DNS 设置提供数字 IP 地址,但我在 rhcloud / OpenShift 上找不到类似的东西。

如何在 rhcloud OpenShift 上找到我的域的 IP 地址?转发到 rhcloud 主机时,CloudFlare 上的基本 DNS 设置应该是什么样的?

我应该使用注册商提供的任何默认 A 和 AAAA 设置吗?

【问题讨论】:

【参考方案1】:

这有点不寻常,但是当使用 Openshift/Heroku 等服务时,您的 DNS 中没有该域的 A 记录。这是因为服务上没有单个与你的网站或应用对应的记录。

如果您已经使用 Cloudflare 的域名服务器在注册商处设置了域(您需要这样做!),则无需在注册商处执行任何其他操作。

您需要为 Cloudlare 上的站点/应用程序设置一个(或多个)CNAME(如果是网站,您可能需要为 example.com 和 www.example.com 各设置一个)。

假设您确实需要“裸”域和 www 版本,您可以这样做:

Openshift

    确保您已为“裸”域和 www 子域设置了域。

Cloudflare:

备份它!

Cloudflare 允许您导出 DNS 设置; 在进行任何更改之前执行此操作

裸域

    进入 DNS 设置页面 从底部的选择器中选择 CNAME 在第一个字段中输入the-domain 在第二个(“是的别名”)字段中输入the-domain.rhcloud.com

www 子域

    从上面重复步骤 1-4,在步骤 3 中输入 www。 转到“页面规则”页面 添加一个新的“页面转发”规则,或者: 将http://the-domain.com/* 重定向到http://www.the-domain.com/$1 http://www.the-domain.com/* 重定向到http://the-domain.com/$1 选择“301”作为重定向类型

【讨论】:

谢谢你,我会试试这个,让你知道它是怎么回事。 谢谢,这有帮助,但仍然无法正常工作。我删除了所有由 CloudFlare 自动加载的默认 A 和 AAAA 以及 MX 设置,所以现在我只有两个 DNS 设置,它们是 the-domain.com 和 www 的 CNAME,它们都是 -域.rhcloud.com。名称服务器已在主机上正确设置。当我访问 the-domain.com 时,它会将我重定向到 the-domain.com/app 并且我收到此错误:“页面未正确重定向。Firefox 检测到服务器正在以永远不会完成的方式重定向此地址的请求。” 它进入 Openshift 的事实根本意味着 Cloudflare DNS 部分正在工作。但是您描述的错误意味着您没有在 Openshift 上正确设置域——见上文。对域的请求正确被路由到您的 Openshift 应用程序,但 Openshift 无法识别请求中的域。如果您将别名 the-domain.com 添加到 Openshift 然后访问 www.the-domain.com,这是经常发生的事情。因此:确保 Openshift 的域别名与您在 Cloudflare 的 DNS 设置中设置的域完全匹配 如果域将转到/app,则肯定会转到 Openshift。 Web 服务器经常将他们不理解的请求重定向到默认域或其他奇怪的位置。 The /app subdirectory redirect happens when Openshift can't appropriately route the request。我熟悉的唯一原因是 DNS CNAME 和 Openshift 别名不匹配。如果您确定它们确实匹配,您将不得不提供更多信息——域名将是一个好的开始... 顺便说一句,我从 CloudFlare DNS 设置中删除了所有 A 和 AAAA 和 MX 记录,因此唯一的规则是 CNAME mcchampions.com 是 mcchampion-garaje.rhcloud.com 和 CNAME 的别名www 是 mcchampion-garaje.rhcloud.com 的别名。我只是仔细检查了 rhcloud 上的别名,我简直不敢相信——缺少一个字母。我刚刚更改了它,现在一切正常。感谢您的耐心和帮助。我真的很感激。【参考方案2】:

如果您希望您的域名以 https://www 开头,请查看以下对我有用的步骤。

假设我们要为这个域名配置 cloudflare 和 openshift:example.org

Cloudflare

DNS 页面

我有两条记录:

    类型:CNAME 名称:example.org :example-example.rhcloud.com(您应该会看到CNAME 扁平化签收这个)

    类型:CNAME 名称:www :example.org

“页面规则”页面

两条规则:

    http://www.example.org/* 设置:始终使用 HTTPS

    example.org/* 设置:转发网址,301 - 永久重定向,https://www.example.org/$1

OpenShift

添加一个别名:

www.example.org

【讨论】:

以上是关于DNS 设置:OpenShift 与 CloudFlare / rhcloud的主要内容,如果未能解决你的问题,请参考以下文章

OpenShift DNS的机制

Openshift3.11集群安装

OpenShift 4.2 添加RHEL节点

The Best CLOUDF Exam Cram Ever - Pass Easily CLOUDF Exam

Openshift 4.4 静态 IP 离线安装系列:初始安装

Openshift与Kubernetes的区别