首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使cloud foundry api只能从cloud foundry web服务器访问

使cloud foundry api只能从cloud foundry web服务器访问
EN

Stack Overflow用户
提问于 2018-08-08 04:08:49
回答 1查看 25关注 0票数 0

我有两个使用nodejs_buildpack的云铸造应用程序。

一个是One服务器,另一个是api。

我想限制对api应用程序的访问仅限于api服务器。

这可能是cloudfoundry中的OOTB吗?

可以将api绑定到api服务器上吗?

EN

回答 1

Stack Overflow用户

发布于 2018-08-09 04:37:21

有几种方法可以做到这一点。您不能将应用程序接口“绑定”到web服务器,但您可以利用Container to Container Networking让web服务器直接与其对话(假设API和web服务器被部署为单独的应用程序)。然后,您可以使用--no-route标志推送API服务器,使其不向GoRouters公开。

或者,如果您使用的是足够新的CF版本,您可以将两者部署在同一个包中,并使用Procfile将该应用编程接口标记为worker进程(或者无论您的NodeJS构建包如何标记非web进程。据我所知,它仍然可以在端口上侦听,但它不会绑定到向GoRouter公开它的$PORT环境变量。

在这两种情况下,因为您的any服务器将通过私有In与API通信,所以您需要完全代理它们,这样对API的任何调用都不会在浏览器端发生,因为它们会失败。

编辑:

由于注释似乎不能让我添加多行代码块,因此示例Procfile将如下所示(注意:我不是节点专家,不知道该命令是否有效):

代码语言:javascript
复制
web: npm start web-server
worker: npm start api-server

简而言之,就是为每一行指定一个进程类型(必须有一个web进程,并且要有一个与传递给cf push-c标志等效的东西。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51734659

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档