在大多数解决方案中,某些应用程序应为公共应用程序,而某些应用程序应仅供内部访问。
是否有经过验证的这种解决方案的配置模式?
执行此操作的简单方法可能是创建两个CF空间(在同一CF组织中):
internal space
internal load-balancer
的internal domain
(例如:*。my-internal-cf.cloud) internal domain
是主共享域 internal load-balancer
无法从Internet访问,只能用于Cloud Foundry的应用程序 internal space
可以访问支持服务(请参阅安全组) public space
:
public load-balancer
的public domain
(例如:*。my-pub-cf.cloud) public load-balancer
可从Internet访问,并且仅将流量传递到public domains
public space
只能访问internal space
服务,甚至只能访问internal space
应用(请参阅安全组) 此配置安全吗?
可以更轻松地完成吗?
这里的组织和空间的使用与应用程序是公开/私有无关。 组织和空格用于内部组织您的应用程序,并限制通过cf cli对这些应用程序的访问。 您可以使用适合您的团队和公司的任何结构。
为了使应用程序公开/私有,这完全取决于路由的使用。 如果要公共访问某个应用程序,则将一条公共路由绑定到该应用程序(即,不是内部路由)。 如果您不希望某个应用公开,请绑定内部路由或完全不绑定路由。 如果绑定内部路由,则可以使用平台的基于DNS的发现 ,也可以使用自己的发现 ,例如Eureka或Consul。 如果不绑定路由,则可以通过服务(例如消息代理)进行通信。
您甚至可以通过策略来控制容器到容器网络上两个应用之间的流量。 这使您可以根据类型和端口来允许或限制流量。