使用Cloud Foundry配置Godaddy DNS

时间:2017-05-19 01:28:35

标签: dns cloudfoundry

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

我们已在Cloud Foundry org中创建了一个域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

  

将您的根域(例如mydomain.com)用于应用程序   Elastic Runtime您可以使用自定义DNS记录类型,如ALIAS   和ANAME,如果您的DNS提供商提供它们,或子域名重定向。

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

Godaddy DNS record types

此外,文件说:

  

如果您的DNS提供商不支持ANAME或ALIAS记录,则可以   使用子域重定向,也称为域转发   将根域的请求重定向到配置为的子域   CNAME。

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

1 个答案:

答案 0 :(得分:1)

如果你想使用GoDaddy的DNS托管,我认为你不能按照你想要的方式工作。它们不支持ANAME或ALIAS记录(在我写这篇文章时)。如果您想要使用该路由,则需要使用另一个支持这些非标准记录类型的DNS提供程序。

See this SO post for more details

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

Ex:绑定到我的应用的两条路线

  1. my-app.cfapps.io
  2. www.example.com
  3. 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不会改变,或者您不介意偶尔停机,那么您就可以走这条路。