如何更改Pivotal Cloud Foundry Web应用程序的URL

时间:2019-03-26 22:52:43

标签: http dns cloudfoundry pivotal-cloud-foundry

我刚刚将Spring Boot / VueJS应用程序推送到Pivotal Cloud Foundry,并且想知道如何更改网站的URL?

当我推送应用程序时,他们给了我一个http://crdeckhelper.cfapps.io/的URL

我去了Godaddy,并购买了crwardecks.com的域名

如何使我的应用程序在crwardecks.com上运行?

我目前有Godaddy将人重新路由到Cloud Foundry为我生成的URL,但这不是我想要的行为。

我已经阅读了有关Pivotal的文档,但是由于某些原因,它使我感到困惑。我也在网上搜索了此内容,但找不到很好的资源。

1 个答案:

答案 0 :(得分:1)

您需要做几件事。

  1. 将您的域添加到Cloud Foundry。运行cf create-domain

    https://docs.run.pivotal.io/devguide/deploy-apps/routes-domains.html#private-domains

  2. 将此域下的路由映射到您的应用。运行cf map-route <app> <domain> ...

    https://docs.run.pivotal.io/devguide/deploy-apps/routes-domains.html#map-route

这时,您已经在CF中设置了域和路由,但是没有任何数据向CF发送流量。

要将流量发送到CF,您需要在DNS记录中进行调整。同样,有两种选择。

  1. 您可以通过创建一条CNAME记录将流量从您的自定义域指向CF分配的域,从而仅将一个子域的流量路由到该应用。例如:CNAME: www.example.com -> crdeckhelper.cfapps.io

  2. 您可以使用通配符为所有子域路由流量。同样,我们使用CNAME记录,但是这次我们使用通配符。例如:CNAME: *.example.com -> *.cfapps.io(或者您可以使用某些子域,例如* .sub.cfapps.io)。

对两者的描述都更here。此外,cfapps.io是Pivotal Web服务的一部分。如果您使用其他提供商,则您的共享域将有所不同。

此时,您应该将流量路由到CF,而CF应该将流量路由到您的特定应用程序。完成并可以停止阅读,除非您试图将根域映射到您的应用。

在根域(即example.com,而不是www.example.com)周围存在边缘情况,因为DNS CNAME记录不适用于根域。某些DNS提供程序支持ALIAS或ANAME记录,这些记录的作用类似于根域的CNAME记录。如果您的提供商愿意,您可以尝试一下(有关使用方法的说明,请参阅DNS提供商的文档)。如果不是,请查看您的提供商是否支持URL转发。许多DNS提供程序会自动将根域上的HTTP通信重定向到您指定的子域,例如example.com -> HTTP 302 -> www.example.com

有关根域设置的更多信息,请参见以下链接中的Configuring DNS for Your Registered Root Domain

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

作为最后的选择,您可以使用A记录,但是您需要非常小心,因为CF提供程序可能没有静态的公共IP,但是它们的IP可以更改。如果您使用A记录并且提供商的IP发生变化,流量将停止流向您的应用程序,并且您需要更新A记录以指向其新IP(您可以通过运行dig <app-dns>nslookup <app-dns>。如果您选择这条路线,请确保您具有监视功能,以便在IP发生更改时迅速捕获。

希望有帮助!