简体   繁体   English

Cloud Foundry后端和公共应用

[英]Cloud Foundry back-end and public apps

In most solutions some apps should be public and some should be internal-only accessible. 在大多数解决方案中,某些应用程序应为公共应用程序,而某些应用程序应仅供内部访问。

Is there a proven configuration pattern of such a solution? 是否有经过验证的这种解决方案的配置模式?

The simple way to do this may be to create two CF spaces (in the same CF organization): 执行此操作的简单方法可能是创建两个CF空间(在同一CF组织中):

  • the internal space internal space
    • apps in this space are binded to the internal domain (eg: *.my-internal-cf.cloud) that points the internal load-balancer 该空间中的应用程序绑定到指向internal load-balancerinternal domain (例如:*。my-internal-cf.cloud)
    • the internal domain is main shared domain internal domain是主共享域
    • the internal load-balancer isn't accessible from the Internet, can be accessible only for apps from the Cloud Foundry internal load-balancer无法从Internet访问,只能用于Cloud Foundry的应用程序
    • the internal space has access to the backing-services (cf security-groups) internal space可以访问支持服务(请参阅安全组)
  • the public space : public space
    • apps in this space are binded to the public domain (eg: *.my-pub-cf.cloud) that points the public load-balancer 该空间中的应用程序已绑定到指向public load-balancerpublic domain (例如:*。my-pub-cf.cloud)
    • the public load-balancer is accessible from the Internet and passing only traffic to the public domains public load-balancer可从Internet访问,并且仅将流量传递到public domains
    • the public space has limited access to the backing-services or even has only access to apps from the internal space (cf security-groups) public space只能访问internal space服务,甚至只能访问internal space应用(请参阅安全组)

Is this configuration secure? 此配置安全吗?

Can it be done more easily? 可以更轻松地完成吗?

The use of orgs & spaces here is irrelevant to an app being public/private. 这里的组织和空间的使用与应用程序是公开/私有无关。 Orgs & spaces are for internally organizing your apps and limiting access to those through the cf cli. 组织和空格用于内部组织您的应用程序,并限制通过cf cli对这些应用程序的访问。 You can use whatever structure makes sense for your team & company. 您可以使用适合您的团队和公司的任何结构。

For making an app public/private, it all depends on the use of routes. 为了使应用程序公开/私有,这完全取决于路由的使用。 If you want public access to an app, you bind a public route to the app (ie not an internal route). 如果要公共访问某个应用程序,则将一条公共路由绑定到该应用程序(即,不是内部路由)。 If you do not want an app to be public either bind an internal route or don't bind a route at all. 如果您不希望某个应用公开,请绑定内部路由或完全不绑定路由。 If you bind an internal route, you can use the platform's DNS-based discovery or bring your own, like Eureka or Consul. 如果绑定内部路由,则可以使用平台的基于DNS的发现 ,也可以使用自己的发现 ,例如Eureka或Consul。 If you don't bind a route you would communicate through a service, like a message broker. 如果不绑定路由,则可以通过服务(例如消息代理)进行通信。

You can even control the traffic between two apps on the container-to-container network via policies . 您甚至可以通过策略来控制容器到容器网络上两个应用之间的流量。 This allows you to allow or restrict traffic based on type & port. 这使您可以根据类型和端口来允许或限制流量。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 使用后端授权的JavaScript安全模式? - Patterns for JavaScript security with back-end authorization? 如何安全地为Cloud Foundry应用程序提供私有SSL密钥? - How to securely provide private SSL keys to Cloud Foundry apps? 防止通过Facebook登录意外访问后端系统 - prevent unwanted access to back-end system with facebook login 如何防止访问受TAM WebSEAL保护的后端应用程序? - How to prevent access to a back-end application that is protected by a TAM WebSEAL? 使用 MD5 从前端安全地向后端发送密码 - Sending password safely from the front-end to the back-end using MD5 为多个前端域设置安全的后端NodeJS服务器 - Setting up a secure back-end NodeJS server for multiple front-end domains 确保前端和后端之间通信的最佳方式 - Best way to secure the communication between front-end and back-end 如何构建安全的前端和后端? - How to build Front-End apart from Back-End with security? 如何使移动/ Web客户端与后端之间的通信完全受信任? - How can I make a communication exclusively trusted between mobile/web clients and back-end? Web客户端到后端REST服务的angular2登录页面 - angular2 login page for a web client to a back-end REST service
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM