我正在尝试通过网络连接到 mongodb 服务器,但无法使连接正常工作。
我可以在运行服务器的本地计算机上像这样连接:
mongo localhost:27027
但是从远程计算机连接失败(其中 = 数据库主机 ip):
mongo <public_ip>:27027
Tue Mar 18 10:40:30 Error: couldn't connect to server <public_ip>:27017 shell/mongo.js:86
异常:连接失败
值得注意的是,当端口被禁止时,这种响应是不同的,而不是exception: connect failed
我收到超时的错误。
我有防火墙 (ufw),但端口27027
设置为接受任何连接。我还尝试完全关闭防火墙,但毫无效果。
我应该尝试如何调试这个问题,我做错了什么吗?
以下是主机提供的一些可能有用的额外信息:
jon@lfmaster:~$ sudo ufw status
[sudo] password for jon:
Status: active
To Action From
-- ------ ----
80 ALLOW Anywhere
443 ALLOW Anywhere
22 ALLOW Anywhere
111 ALLOW Anywhere
2049 ALLOW Anywhere
27017 ALLOW Anywhere
28017 ALLOW Anywhere
80 ALLOW Anywhere (v6)
443 ALLOW Anywhere (v6)
22 ALLOW Anywhere (v6)
111 ALLOW Anywhere (v6)
2049 ALLOW Anywhere (v6)
27017 ALLOW Anywhere (v6)
28017 ALLOW Anywhere (v6)
-
jon@lfmaster:~$ sudo lsof -i
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
...
mongod 1184 mongodb 6u IPv4 9911 0t0 TCP localhost:27017 (LISTEN)
mongod 1184 mongodb 8u IPv4 9913 0t0 TCP localhost:28017 (LISTEN)
答案1
如果需要使用非标准端口,则需要使用--port
命令行中的开关mongo <public ip> --port 27027