我目前正在云代工厂部署,现在我有一个前端服务器和一个后端服务器。
两者都作为微服务部署在Cloud Foundry nodejs构建包中。
我想隐藏后端服务器与外界的关系,只有我的前端服务器可以访问它。我怎么做? 如果我删除到后端服务器的路由,服务器将从外部隐藏,但我不知道如何从我的前端访问它。
我是Cloud Foundry的新手,也许有一种简单的方法。
由于
安德烈亚斯
感谢您提供的信息。
但我不明白我现在怎样才能隐藏我的后端实例从外部访问,但是允许访问frontrontend?
基本上我需要在我的空间中设置什么,以便只允许端口80访问我的前端实例(假设前端ip是168.192.0.5)。
你能举个例子吗?答案 0 :(得分:0)
如果您使用的是OSS Cloud Foundry,您可以将后端服务放入自己的空间,然后为该空间设置安全组规则,以便它们不会响应外部IP地址: https://docs.pivotal.io/pivotalcf/adminguide/app-sec-groups.html
如果您正在使用Pivotal Cloud Foundry,您可以使用Spring Cloud Service Discovery,如Amit所说。
答案 1 :(得分:0)
使用“cf push myjavaapp --no-route”怎么样? no-route选项告诉Bluemix您的后端不是Web应用程序。
答案 2 :(得分:0)
将后端微服务隐藏起来的另一个解决方案是使用容器(也可以在Bluemix上找到,基于Docker,请参阅https://www.ng.bluemix.net/docs/containers/container_gettingstarted.html)。默认情况下,容器具有专用IP,并且可以访问同一空间中的其他容器。您可以使用例如前端微服务为公共IP分配。以下命令
cf ic ip bind {public_ip} {container_name}
但请勿为您的后端微服务分配公共地址。
(几个星期前,我已经为容器中的微服务创建了一个简单的例子,你可以在 https://hub.jazz.net/project/matthiashub/bluemix-unistuttgart-container/overview我承认这是用Java完成的,而不是在nodejs中,但我认为你明白了。)