Node.js使用tunnel-ssh通过SSH连接Docker部署的远程MongoDB报AuthenticationFailed错误
错误原因
- 核心问题是端口配置不匹配:你在SSH隧道配置中指定了本地转发端口为
5000,但MongoDB连接URI里写的是localhost:27017,实际连接的是本地设备的27017端口,而非SSH隧道转发的远程MongoDB服务,自然会出现认证失败。 - 访问
http://localhost:5000出现的提示属于正常现象:MongoDB原生端口不支持HTTP协议访问,该提示反而说明你的SSH隧道已经正常工作,成功将本地5000端口转发到了远程Docker内的MongoDB服务端口。
解决方法
修改MongoDB连接URI的端口为你配置的本地转发端口5000即可,修改后的URI如下:
const uri = 'mongodb://admin:password@localhost:5000/admin';
修改后重新运行代码即可正常连接远程MongoDB服务。
内容的提问来源于stack exchange,提问作者ArlenX
相关产品推荐
相关产品推荐

