http - 如何更改 Pivotal Cloud Foundry Web 应用程序的 URL
问题描述
我刚刚将 Spring Boot / VueJS 应用程序推送到 Pivotal Cloud Foundry 并且想知道如何更改网站的 URL?
当我推送应用程序时,他们给了我一个http://crdeckhelper.cfapps.io/的 URL
我去godaddy买了一个crwardecks.com的域名
如何让我的应用程序在 crwardecks.com 上运行?
我目前让 Godaddy 将该人重新路由到 Cloud Foundry 为我生成的 URL,但这不是我想要的行为。
我已经阅读了关于 Pivotal 的文档,但由于某种原因它让我感到困惑。我也在网上搜索过这个,但找不到好的资源。
解决方案
你需要做几件事。
将您的域添加到 Cloud Foundry。运行
cf create-domain
。https://docs.run.pivotal.io/devguide/deploy-apps/routes-domains.html#private-domains
将此域下的路由映射到您的应用程序。运行
cf map-route <app> <domain> ...
。https://docs.run.pivotal.io/devguide/deploy-apps/routes-domains.html#map-route
此时,您将在 CF 中设置域和路由,但没有向 CF 发送流量。
要将流量发送到您的 CF,您需要在 DNS 记录中进行调整。同样,有几个选择。
您可以通过创建一条从您的自定义域指向 CF 分配的域的 CNAME 记录,将仅一个子域的流量路由到应用程序。例如:
CNAME: www.example.com -> crdeckhelper.cfapps.io
。您可以使用通配符路由所有子域的流量。我们再次使用 CNAME 记录,但这次我们使用通配符。例如:(
CNAME: *.example.com -> *.cfapps.io
或者您可以使用一些子域,例如 *.sub.cfapps.io)。
两者都在这里进行了更多描述。此外,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>
或获取您的提供商的 IP nslookup <app-dns>
。如果您这样做路由,请确保您有监控,以便在 IP 更改时快速捕捉到。
希望有帮助!
推荐阅读
- parallel-processing - 在 joblib 并行循环中从 pytables hdf5 文件中读取
- python - 在 3 个列表之间组合元素
- c# - 如何修复我的 MVC 项目以使图像显示在网站上?
- java - kinesis 生产者“合并”消息
- flutter - 如何根据索引更改 Tab 的装饰?
- python - Pandas:根据条件和 nan 值丢弃观察结果
- c# - 在 uwp 中使用依赖属性时,如何区分默认值和分配值
- gradle - 在 build.gradle 中加载公共属性不适用于 buildscript
- python - 跨多个实例共享单个基础对象
- python - 如何将 postgreSQL 从转储文件恢复到 AWS?