【问题标题】:Trying to Deploy a PCF Spring Boot App which requires a static IP尝试部署需要静态 IP 的 PCF Spring Boot 应用程序
【发布时间】:2018-12-24 15:45:54
【问题描述】:

我有一个使用 spring boot 作为后端和 Vue.js 作为前端的应用程序。我已将应用程序打包成 jar 文件并轻松部署到 PCF。问题是应用程序使用来自https://developer.clashroyale.com/#/getting-started 的 API 密钥...这些密钥要求您输入将要使用的 IP 地址...

显然,除非我提供正确的 IP 地址,否则我的密钥将无法使用,那么如何检索我的 PCF 应用程序的 IP 地址,以便生成正确的 API 密钥?

此外,文档说 IP 将随着我的应用程序的每次部署而改变......这提示了问题:

是否无法在 PCF 应用程序中使用需要静态 IP 地址的 API 密钥?

我已经将同样的应用程序部署到亚马逊 AWS 并且它工作正常,因为我有一个可以用来注册密钥的静态 IP 地址。我更喜欢使用 PCF,但在设置时遇到了麻烦。

【问题讨论】:

    标签: spring-boot cloud-foundry pivotal-web-services


    【解决方案1】:

    我认为您无法在 PCF 平台上使用该 API。每次您cf restage 或任何导致容器重新构建/重新部署的事情时,IP 都会更改。

    总之,是的,这是不可能的:https://docs.run.pivotal.io/marketplace/external-ips.html

    【讨论】:

      【解决方案2】:

      您的应用将在任意数量的 Diego Cell 上运行,它们都有不同的 IP 地址。流量可以通过多种方式离开您的应用和 Cell。

      在某些情况下,出站流量可能会通过 NAT,在这种情况下,可能的 IP 数量可能很少,并且 IP 可能不会经常(或根本不会)更改。在其他情况下,流量可能直接从运行应用程序的 Diego Cell 离开。在这种情况下,IP 会更多,并且在您的应用重新启动时,IP 会随时更改。

      如果您谈论的是 Cloud Foundry 的一般安装,这将取决于该环境的运营商如何设置流量,因此您需要与运营商确认以确定。

      如果您谈论的是 Pivotal Web 服务,则出站流量将来自运行您的应用的 Cell 的 IP。请参阅弗朗西斯科帖子中的链接。


      说了这么多,有一个技巧可以用来解决上述问题。通过代理路由您的流量。可以使来自代理的流量具有固定的 IP 地址。

      在 PWS 上,市场上有一项服务可以做到这一点。它被称为 QuotaGuard。

      https://docs.run.pivotal.io/marketplace/services/quotaguard.html

      不过,您不必使用该服务,您可以使用任何其他服务提供商,甚至可以设置自己的代理。我建议您使用服务,除非您确切知道自己在做什么。设置和保护代理并非易事,保护不当的代理不仅对您作为所有者而且对整个互联网都是不利的。

      【讨论】:

        猜你喜欢
        • 2012-06-29
        • 2017-09-30
        • 2019-05-10
        • 2022-01-22
        • 1970-01-01
        • 2014-12-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多