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的主要内容,如果未能解决你的问题,请参考以下文章
The Best CLOUDF Exam Cram Ever - Pass Easily CLOUDF Exam