node.js - DocumentDB 连接问题
问题描述
我在 AWS 中创建了一个 DocumentDb 集群,并试图将其连接到我机器上的本地服务器。这是我的代码
const mongoose = require('mongoose')
const fs = require('fs');
mongoose.Promise = global.Promise
var ca = [fs.readFileSync(__dirname+'\\rds-combined-ca-bundle.pem')];
const url = 'mongodb://**********:*****************@docdb-2019-07-30-08-45-53.cluster-czognfvnmvja.us-east-1.docdb.amazonaws.com:27017/?ssl=true&ssl_ca_certs=rds-combined-ca-bundle.pem&replicaSet=rs0'
mongoose.connect(url, {
sslValidate: false,
sslCA: ca,
ssl:true,
useNewUrlParser: true
}).then(() => {
console.log("Connection Successfull")
}).catch((err) => {
console.log("Error " + err);
})
- 可能吗?(我已经读过,你需要在 AWS vpc 中才能连接。所以我必须将我的本地服务器移动到 EC2 吗?)
- 如果是,那么我在上面的代码中做错了什么。
解决方案
如果您与 DocumentDB 不属于同一个 VPC,则无法按照您专门编写的方式访问。检查这篇文章。
基本上,本文解释了如何通过 ssh 隧道与位于同一 VPC 中的 EC2 访问 DocumentDB。由于 EC2 位于 VPC 中,因此可以从 EC2 连接 DocumentDB,您的本地代码可以通过 EC2 连接 DB。
推荐阅读
- uuid - JDK 11 生成的 UUID 版本是多少?
- angular - 如何将 Angular 项目版本从 12.2.5 降级到 12.2.1?
- c# - 为什么我的列表没有在帖子之间的 PageModel 上保持状态?
- android - 谷歌播放签名密钥
- python - 在 matplotlib 中使用 animation.ArtistAnimation() 返回一个空白
- android - 在 TelephonyCallback 中访问电话号码 - Android
- python - ModuleNotFoundError:没有名为“pandas”的模块 | `pip install pandas` & `poetry add pandas` 失败
- vba - 如何从所有打开的 Word 文档中提取粗体文本的实例
- csv - 使用 Neo4j 创建图形数据库 - 航空公司示例
- python-3.x - 无法从 Django 模板中的静态文件夹加载 Vue JS 文件