Cloud foundry 将入站流量限制为CloudFoundry上的应用程序

Cloud foundry 将入站流量限制为CloudFoundry上的应用程序,cloud-foundry,Cloud Foundry,您可以使用应用程序安全组来限制来自CloudFoundry上运行的应用程序的出站流量。详情如下: 假设我希望应用程序只对某个IP地址可见——换句话说,将入站流量限制在某个IP地址。我想这可以通过使用自定义路由服务并将其绑定到我的应用程序的路由来实现。但是有没有更简单的方法呢 我想通常的方法是使用API网关?正如您所提到的,路由服务是一种可能性。另一个方法是在应用程序中处理此问题。具体如何做到这一点取决于所使用的构建包/语言 Java的一个例子是使用由buildpack安装的Tomcat来限制IP

您可以使用应用程序安全组来限制来自CloudFoundry上运行的应用程序的出站流量。详情如下:

假设我希望应用程序只对某个IP地址可见——换句话说,将入站流量限制在某个IP地址。我想这可以通过使用自定义路由服务并将其绑定到我的应用程序的路由来实现。但是有没有更简单的方法呢


我想通常的方法是使用API网关?

正如您所提到的,路由服务是一种可能性。另一个方法是在应用程序中处理此问题。具体如何做到这一点取决于所使用的构建包/语言

Java的一个例子是使用由buildpack安装的Tomcat来限制IP访问。你可以用一只手来做这件事。如果您使用的是Spring Boot,那么可以使用它提供的嵌入式Tomcat执行类似的操作

如果您使用的是apachehttpd,那么可以使用
Require ip 10.10.10.10
强制执行该要求。类似地,对于Nginx,您可以使用
allow 10.10.10
全部拒绝

对于其他语言和框架,请查看您的文档,了解如何根据传入的IP进行限制。要考虑的唯一问题是,在云铸造中,应用程序位于代理服务器后面,因此应用程序所看到的远程IP地址将不是实际客户端的远程IP。它将驻留在
x-forwarded-for
标题中。在上面的示例中,Tomcat、Nginx和HTTPD会为您解析此标头,但根据您的应用程序和框架,您可能需要手动查看此标头以获得正确的IP

以上假设您希望IP拒绝在应用程序级别是特定的和可自定义的。如果您试图在整个基础上应用更广泛的规则,那么在流量到达应用程序甚至基础程序之前应用这些限制将更有意义。也许你可以使用防火墙在你的地基前,或者在外部负载平衡器上,为你的地基接受交通。显然,这完全取决于基础之外的基础设施。

希望有帮助