当前位置: 首页 > 知识库问答 >
问题:

将云代工连接到mongoDB atlas的推荐方式

云俊美
2023-03-14

我有一个连接到mongoDB地图集的Spring启动应用程序。一切都在本地工作。

我现在想将此发布到pivotal cloud foundry。

在mongodb atlas中,我需要打开防火墙并允许某些ip号码。我应该如何配置mongodb atlas以最安全的方式连接到pcf?

cloud foundry正在覆盖我的连接URL,以指向localhost:27017,而不是我的atlas群集。连接mongodb atlas的推荐方式是什么?

共有1个答案

满子实
2023-03-14

在mongodb atlas中,我需要打开防火墙并允许某些ip号码。我应该如何配置mongodb atlas以最安全的方式连接到pcf?

在CF上运行的应用程序的白名单IP地址不是特别有效。它无效的原因是您不知道要连接的IP地址,因为这取决于Diego决定在哪里运行应用程序。换句话说,它取决于您的应用程序被告知运行的单元格。更复杂的是,当您重新启动/重新启动应用程序时,情况会发生变化。

因为IP可能会有所不同,所以您最终需要做的是将所有Cell列入白名单。这样做的问题以及为什么它无效的原因是,您最终将平台上运行的每个应用程序都列入白名单。

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

这种方法的缺点是,它要求您成为平台管理员,这意味着只有在您拥有CF安装(不适用于公共提供商)的情况下,它才能工作。

有关ASG的更多信息,请访问:https://docs.cloudfoundry.org/adminguide/app-sec-groups.html

对于公共提供商,您可以使用代理。要使此工作正常,您需要将您的应用程序配置为在尝试访问您的Mongob服务器时通过代理进行通信。您控制具有固定IP的代理,因此您可以将代理列入白名单,以允许仅访问您的应用程序。如果您不想运行自己的代理服务器,您可以使用公共代理提供商。

cloud foundry正在覆盖我的连接URL,以指向localhost:27017,而不是我的atlas群集。连接mongodb atlas的推荐方式是什么?

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

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

另一个选项是告诉Java构建包不要安装自动配置。可以通过使用set env或通过清单为应用程序设置以下环境变量来实现这一点。yml文件。

JBP_CONFIG_SPRING_AUTO_RECONFIGURATION='[启用: false]'

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

我想您的另一个选择是简单地接受自动配置。一开始这有点令人困惑/不可思议,但我发现这篇文章可以很好地解释这一点。

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

希望这有帮助!

 类似资料:
  • 问题内容: 我正在寻找一种可靠的解决方案,以从Go连接到MySQL数据库。我已经看到了一些库,但是很难确定完整性和当前维护的不同状态。我没有复杂的需求,但是我想知道人们所依赖的是什么,或者连接到MySQL的最标准的解决方案是什么。 问题答案: 有一些驱动程序可用,但您应仅考虑将实现数据库/ sql API的驱动程序视为 它提供了一种干净高效的语法, 它确保您以后可以更改驱动程序而无需更改代码(导入

  • 问题内容: 由于标题已经声明不赞成使用JNLP连接,Jenkins还提供了一条消息和一个超链接 https://zh.wikipedia.org/wiki/Java_Web_Start#已弃用 因此,现在将WindowsSlave附加到Jenkins的推荐方法是什么,在https://jenkins.io上似乎没有关于该主题的真正好的指南。 问题答案: 有一个开源替代OpenWebStart这是基

  • 我正在尝试为我的kubernetes项目使用。 我遵循仙丹指南和凤凰指南。在Connect to your Cloud SQL实例中,该指南指出,运行“cloud_sql_proxy-dir=/tmp/cloudsql”和“psql-h/tmp/cloudsql/[CONNECTION-NAME]-u postgres”将打开代理。 所以我尝试用下面的这些命令创建一个新的目录。 然后我尝试连接云s

  • 问题内容: 我正在使用org.apache.poi 3.15读取一个excel文件(文件扩展名为xlsx)。 这是我的代码: 我收到不推荐使用的警告。谁能告诉我替代方法? 问题答案: 接受的答案显示了弃用的原因,但未列出替代项: 其中是描述单元格类型的枚举。 计划是在POI 4.0中重命名回。

  • 问题内容: 将PDF嵌入HTML的推荐方法是什么? iFrame? Object? Embed? Adobe对此有何评价? 就我而言,PDF是即时生成的,因此在刷新之前无法将其上传到第三方解决方案。 问题答案: 最好的方法可能是使用PDF.JS库。它是用于PDF文档的纯HTML5 / JavaScript渲染器,没有任何第三方插件。

  • 问题内容: 我是Android编程的新手。 我一直在遵循有关从此网站创建音乐播放器的教程 本教程要求 使用不推荐使用的 Class 方法。哪种方法尤其可以代替此不推荐使用的方法?而且,是否有资料来源可以找到所有不赞成使用的方法及其当前替代方法? 这是我的代码,其中有关于不推荐使用的方法的警告: 问题答案: 如果按CTRL +左键单击方法,则会找到方法声明。这就是使用其内容和javadoc创建方法的