使用 Cloud Foundry 配置 Godaddy DNS

Configure Godaddy DNS with Cloud Foundry

我们在 Cloud Foundry 上部署了两个网站,希望 运行 一个网站在根级别,另一个作为子域。

我们已经在我们的 Cloud Foundry 组织中创建了一个域 domain.tld

$ cf domains
Getting domains in org myorg as me...
name                            status   type
cfapps.myprovider.com           shared
domain.tld                      owned

除此之外,我们还创建了两条路线:

$ cf routes
Getting routes for org myorg / space prod as me ...
space         host      domain               port   path   type   apps                service
prod                    domain.tld                                app1
prod          app2      domain.tld                                app2

现在,我需要配置 DNS。

Cloud Foundry 文档说:

https://docs.pivotal.io/pivotalcf/1-6/devguide/deploy-apps/routes-domains.html#domains-dns

To use your root domain (for example mydomain.com) for applications on Elastic Runtime you can either use custom DNS record types like ALIAS and ANAME, if your DNS provider offers them, or subdomain redirection.

在 Godaddy 中,我们找不到 ALIAS 或 ANAME 记录类型。 Godaddy 只为我们提供以下选项。这是否意味着我们不能使用 ALIAS 或 ANAME?哪个提供商支持它?

此外,文档说:

If your DNS provider does not support ANAME or ALIAS records you can use subdomain redirection, also known as domain forwarding, to redirect requests for your root domain to a subdomain configured as a CNAME.

这是否意味着我们需要将根域指向我的提供商并让他们转发到 www.domain.tld 之类的东西?我们想避免这种情况。

如果您想使用 GoDaddy 的 DNS 托管,我认为您无法按照您希望的方式进行操作。他们不支持 ANAME 或 ALIAS 记录(在我写这篇文章时)。如果你想走那条路,你需要使用另一个支持这些非标准记录类型的 DNS 提供商。

See this SO post for more details.

您可以指示 GoDaddy 将根域 HTTP 重定向到 www,然后使用 CNAME 记录将 www 设置为分配给您在 CF 上的应用程序的路由。我目前这样做是为了在 PWS(Pivotal 托管的 Cloud Foundry)上托管一个带有自定义域的站点。效果很好,没有任何问题。

例如:两条路由绑定到我的应用程序

  1. 我的-app.cfapps.io
  2. www.example.com

www.example.com 的 CNAME 映射到 my-app.cfapps.io*.cfapps.io 是 PWS 上的默认域,其 DNS 由提供商管理。

为了彻底,我会说您可以在技术上为您的根域设置一个 A 记录,并将其指向您的 CF 提供商的 IP 地址。这将允许您使用根域访问站点,并且不需要任何 HTTP 重定向或备用 DNS 记录类型。

问题以及您不想这样做的原因是您的 DNS 提供商可能没有静态 IP 地址供您使用 A 记录(这是PWS 的情况是因为它在 AWS 上运行并且分配给 ELB 的 IP 可以并且确实会发生变化)。这意味着您的 A 记录只有在 IP 更改之前才会准确。然后您的站点将关闭并且无法访问,直到您更新您的 DNS 设置。如果您的提供商保证其负载均衡器的 IP 永远不会改变,或者您不介意偶尔出现停机,那么您可以采用这种方式。