mongodb - 来自应用程序的 Mongo 连接的 Amazon DocumentDB 集群失败
问题描述
我正在尝试设置一个 Amazon EB 实例来使用 DocumentDB。当我尝试连接亚马逊 linux 终端时,连接工作正常。但是当我尝试连接 PHP 时,它会返回如下所示的错误
“找不到合适的服务器(serverSelectionTryOnceset):[套接字超时调用'docdb-XXXX-XX-XX-XX-XX-XX.cluster-cXXXXXXXXXX.eu-west-1.docdb.amazonaws.com:27017'上的ismaster]”
我使用终端进行了故障排除并获得了“成功!” 这表明再次连接成功。
nc -zv docdb-docdb-XXXX-XX-XX-XX-XX-XX.cluster-cXXXXXXXXXX.eu-west-1.docdb.amazonaws.com 27017
任何人都知道有什么问题吗?
这是我连接到 DocumentDB 的代码
$conn = new MongoClient("mongodb://username:password@docdb-docdb-XXXX-XX-XX-XX-XX-XX.cluster-cXXXXXXXXXX.eu-west-1.docdb.amazonaws.com:27017/?ssl_ca_certs=rds-combined-ca-bundle.pem&replicaSet=rs0");
解决方案
如果您在防火墙后面并维护网络端口的白名单,那么您应该必须打开端口 27017 才能连接到 MongoDB 集群。
推荐阅读
- angular - 如何从 Go HTTP Server 提供 Angular 应用程序?
- database - 从表中获取最大值并按列分组,该列具有不同顺序的逗号分隔值或具有更多值
- python - 在 Python 中实现 Adams Bashforth Moulton 方法
- java - 使用 java.sql.Date 的 Spring Data JPA 查询比 java.util.Date 快 4 倍
- python - 如何处理分类变量列中的 0 值?
- sql - 计算另一列中具有相同值的对象的数量
- java - 如何在 Spring Boot 2.2.0 的集成测试中禁用安全性?
- typescript - TypeScript:类型 'Foo | 上不存在属性 'foo' 酒吧'
- excel - 如何通过单击按钮将工作簿中的选项卡导出到单个 Excel 工作簿
- typescript - 如何获得与 litteral 'aString' 类型匹配的 litteral 'aString' 值?