0

我有一个使用 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,但在设置时遇到了麻烦。

4

2 回答 2

1

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

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

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

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


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

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

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

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

于 2018-12-26T18:13:56.777 回答
1

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

所以简而言之,是的,这是不可能的:https ://docs.run.pivotal.io/marketplace/external-ips.html

于 2018-12-24T21:03:43.367 回答