[英]Mongoose DocumentDB connection fails through SSH tunnel
我正在嘗試使用 Node.js/Typescript 和 Mongoose 連接到 AWS DocumentDB。 我有一個 EC2 實例設置為 SSL 隧道,效果很好。 我可以使用 Studio3T 和 mongo-cli 在本地連接到 DocumentDB。 此命令有效mongo --sslAllowInvalidHostnames --ssl --sslCAFile rds-combined-ca-bundle.pem --username <username> --password <password>
但是,如果我嘗試使用 Mongoose 連接到同一個數據庫,它就會失敗。 這是我的代碼和錯誤:
const options = {
dbName: 'prodDB',
user: connectionData.username,
pass: connectionData.password,
tls: true,
tlsCAFile: '../rds-combined-ca-bundle.pem',
tlsAllowInvalidHostNames: true,
};
try {
await connect('mongodb://localhost:27017', options);
} catch (error) {
console.log(error);
}
MongooseServerSelectionError: connect EHOSTUNREACH imagine-ip-address-here:27017
reason: TopologyDescription {
type: 'ReplicaSetNoPrimary',
servers: Map(1) {
'censored:27017' => [ServerDescription]
},
stale: false,
compatible: true,
heartbeatFrequencyMS: 10000,
localThresholdMS: 15,
setName: 'rs0',
commonWireVersion: 7,
logicalSessionTimeoutMinutes: undefined
}
在這一點上,我已經在 ZCCADCDEDB567ABAE643E15DCF0974E503Z 中嘗試了幾乎所有可能的配置,我越來越絕望了。 任何幫助表示贊賞
這似乎是 mongoose 版本 >= 6 的問題。將 ZCCADCDEDB567ABAE643E15DCF0974E503Z 降級到版本 5.13.8 沒有問題。 Mongoose 開發人員顯然意識到了這個問題: https://github.com/Automattic/mongoose/issues/11105
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.