首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在CloudFoundry环境中创建安全的内部路由(Swisscom AppCloud)

如何在CloudFoundry环境中创建安全的内部路由(Swisscom AppCloud)
EN

Stack Overflow用户
提问于 2019-08-05 18:42:22
回答 1查看 1.1K关注 0票数 2

我想在同一个空间/组织中的两个应用程序之间创建一个安全的内部路由。永远不可能从外部到达Node.js应用程序。我的Java应用程序通过HTTP连接到Node应用程序(在express上运行)。

现在,我已经尝试通过创建名为example-route.apps.internal的路由来设置所需的配置,并将其分配给Node应用程序。下一步,我已经在443应用程序的网络配置中打开了端口(我尝试过808080) (目标是Node应用程序)。我重新整理了这两份申请。

然后,我打开了到链接http://example-route.apps.internal/test123的Java连接。我也尝试过使用https。结果是一样的。Java拒绝连接到这个URL。

现在,有以下问题:

  • 我怎样才能正确地建立这种沟通?我应该以某种方式解决这个内部DNS吗?如果我只使用env变量的端口,哪个端口是正确的?如何从其他应用程序读取此端口?
  • 如果使用HTTP而不是HTTPS,通信有多安全?(我假设HTTPS在内部是不可能的)。它和外部的HTTPS连接一样安全吗?哪些设备之间,连接有多远?

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-08-06 16:37:44

我想你快到了。

然后,我打开了到链接http://example-route.apps.internal/test123的Java连接。我也尝试过使用https。结果是一样的。Java拒绝连接到这个URL。

您应该使用http://example-route.apps.internal:8080/test123。您的应用程序被设置为在$PORT上侦听,在CF的当前版本中它总是8080。

通常,您不需要担心这一点,因为您的流量通过Gorouter (映射外部端口80 ->内部8080)。有了内部路线,交通是直接的,因此没有任何转变。这就是为什么您需要在URL中使用端口8080。

或者,您可以使用像尤里卡或领事这样的服务发现机制,但这不是一个要求。在这种情况下,服务会知道它在监听8080并在注册表中注册。

就HTTPS而言,这很棘手。您的应用程序只监听80/HTTP。您必须将其更改为侦听443/HTTPS,但随后需要证书和不同的服务器配置。这在技术上是可能的,但它是一整罐蠕虫。

在一些较新的版本中,newer会将HTTPS流量接受到容器中,可以使HTTPS变得更容易,但它仍然不是一个扣篮(至少在编写本文时是这样)。我希望这会在未来变得更好。

我应该以某种方式解决这个内部DNS吗?

内部DNS帮助定位您的其他应用程序,而不是端口。否则,您将需要管理IP地址,而IP地址经常更改,这将需要像Eureka或领事这样的东西。

如果我只使用env变量的端口,哪个端口是正确的?

请参见上面的。

如何从其他应用程序读取此端口?

现在一直是8080,而且已经有好几年了。它不太可能改变,所以您可能可以硬代码或将其安全地设置在一个配置文件中。

如果使用HTTP而不是HTTPS,通信有多安全?(我假设HTTPS在内部是不可能的)。它和外部的HTTPS连接一样安全吗?哪些设备之间,连接有多远?

通信量在外部是不可访问的,因为在某些情况下它不会离开单元格,或者在最坏的情况下,它会在两个单元之间传输,但是由于没有加密,通信在内部是可见的。这意味着您需要对您的CF提供程序有更多的信任,他们可以访问内部通信量。

如果是HTTPS,只有拥有密钥的人才能解密它。尽管如此,您仍然必须信任您的提供者,因为他们可能会获得密钥&使用它解密通信量。对他们来说,这将是比未加密的流量更多的工作。

希望这能帮上忙!

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

https://stackoverflow.com/questions/57364403

复制
相关文章

相似问题

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