首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将云铸造厂与mongodb地图集连接的推荐方法

将云铸造厂与mongodb地图集连接的推荐方法
EN

Stack Overflow用户
提问于 2017-02-26 14:21:05
回答 1查看 998关注 0票数 0

我有一个弹簧引导应用程序,连接到mongodb地图集。一切都在本地运作。

我现在想把这个发布到关键的云铸造厂。

PCF与地图集的安全连接

在mongodb地图集中,我需要打开防火墙,允许一定的ip号。我应该如何配置mongodb地图集,以最安全的方式连接到pcf?

自动配置挡道

云铸造厂正在重写我的连接urls以指向localhost:27017而不是我的地图集。推荐的连接mongodb地图集的方法是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-02-26 18:57:24

在mongodb地图集中,我需要打开防火墙,允许一定的ip号。我应该如何配置mongodb地图集,以最安全的方式连接到pcf?

在CF上运行的应用程序的白列表IP地址并不特别有效。它无效的原因是您不知道连接的IP地址,因为它取决于Diego决定在哪里运行您的应用程序。换句话说,它取决于让应用程序运行的单元格。要使问题更加复杂,在重新启动/重新启动应用程序时,这种情况将发生改变。

因为IP可能会有所不同,所以您最终需要做的是将所有单元格白名单。这其中的问题和为什么它是无效的是,你已经白列出了每一个运行在平台上的应用。

要稍微提高安全性,您可以做的是使用应用程序安全组。ASG可以用来限制出站流量。您还可以在空间级别控制它们。这意味着您可以将默认运行的安全组配置为不允许访问MongoDb服务器,但可以通过将ASG绑定到只需要与MongoDb服务器对话的应用程序的空间来允许对单个空间的访问。

这种方法的缺点是,它要求您是一个平台管理员,这意味着它将只有当您拥有您的CF安装(不工作对公共提供者)。

更多关于ASG的信息:https://docs.cloudfoundry.org/adminguide/app-sec-groups.html

对于公共提供者,您可以使用代理。要使此操作,需要将应用程序配置为在代理试图访问Mongodb服务器时通过代理进行对话。您控制代理,其中有固定的IP,所以您可以白名单代理,以允许访问您的应用程序。如果不想运行自己的代理服务器,可以使用公共代理提供程序。

云铸造厂正在重写我的连接urls以指向localhost:27017而不是我的地图集。推荐的连接mongodb地图集的方法是什么?

可以禁用自动配置。这里的文档描述了一种方法。如果您包含依赖项并手动使用它们,那么自动配置将不会运行。

https://docs.cloudfoundry.org/buildpacks/java/spring-service-bindings.html#manual

另一种选择是告诉Java构建包不要安装自动配置。可以通过使用cf set-env或通过manifest.yml文件为应用程序设置以下环境变量来做到这一点。

例:JBP_CONFIG_SPRING_AUTO_RECONFIGURATION='[enabled: false]'

如果您这样做,请小心,因为它将禁用自动重新配置所提供的所有内容,包括为应用程序设置“云”配置文件。如果使用此选项禁用自动重新配置,则可能还需要设置SPRING_PROFILES_ACTIVE='cloud'来手动启用云配置文件。

我想您的另一个选择是简单地接受自动配置。一开始它有点混乱/神奇,但我发现这篇文章解释得很好。

https://spring.io/blog/2015/04/27/binding-to-data-services-with-spring-boot-in-cloud-foundry

希望这能帮上忙!

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

https://stackoverflow.com/questions/42469658

复制
相关文章

相似问题

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