1

我目前正在云代工厂上部署,现在我有一个前端服务器和一个后端服务器。
两者都使用 Cloud Foundry nodejs 构建包部署为微服务。

我想对外界隐藏后端服务器,只有我的前端服务器可以访问它。我怎么做?如果我删除到后端服务器的路由,则服务器对外部隐藏,但我不知道如何从前端访问它。

我是 Cloud Foundry 的新手,也许有一个简单的方法。

谢谢

安德烈亚斯

感谢您提供到目前为止的信息。

但是我不明白我现在如何隐藏我的后端实例以防止从外部访问,但允许访问前端?

基本上我需要在我的空间中设置什么角色才能只允许我的前端实例访问端口 80(假设前端 ip 是 168.192.0.5)。

你能举个例子吗?

4

3 回答 3

0

对公众隐藏后端微服务的另一种解决方案是使用容器(也可在基于 Docker 的 Bluemix 上使用,请参阅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 完成的,但我想你明白了。)

于 2015-11-28T16:46:14.397 回答
0

如果你使用的是OSS Cloud Foundry,你可以把后端服务放到自己的空间里,然后给那个空间设置安全组规则,使它们不会响应外部IP地址: https ://docs.pivotal.io/ pivotalcf/adminguide/app-sec-groups.html

如果您使用的是 Pivotal Cloud Foundry,您可以使用 Spring Cloud Service Discovery,正如 Amit 所说。

于 2015-11-26T12:10:03.120 回答
0

使用“cf push myjavaapp --no-route”怎么样?no-route 选项告诉Bluemix 您的后端不是Web 应用程序。

于 2015-11-28T09:46:02.583 回答