再会,
我试图将 mongodb 数据库移至与应用程序分离的 VPS,但 VPS 不是由我预先配置的。我有一个在 27017 端口上运行 mongodb 的实例:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
mongod 2073 mongodb 11u IPv4 6155 0t0 TCP localhost:27017 (LISTEN)
我已经配置了 ufw 防火墙,对任何人开放 27017(目前):
To Action From
-- ------ ----
22 ALLOW IN Anywhere
27017/tcp ALLOW IN Anywhere
22 ALLOW IN Anywhere (v6)
27017/tcp ALLOW IN Anywhere (v6)
Anywhere ALLOW OUT 27017/tcp
Anywhere (v6) ALLOW OUT 27017/tcp
但有趣的是,然后我执行“nmap -p 27017 --IP--”它显示了以下内容:
Note: Host seems down. If it is really up, but blocking our ping probes, try -Pn
如果运行‘nmap -p 27017 --IP-- -Pn’:
PORT STATE SERVICE
27017/tcp closed unknown
当然,我无法使用 tcp 27017 连接到 mongodb,但我无法使用 ssh 或通过 ssh 连接。如果我使用 (ufw disable) 关闭防火墙,端口状态将更改为已过滤但我仍然无法使用它。
看来二级防火墙正在管理 27017 端口,但我不知道如何关闭它。我很困惑,有人有什么建议吗?
以下是 iptables 规则的完整列表: https://gist.github.com/skatkov/b0d1173de5f319f2872d
答案1
您的输出清楚地表明它只mongod
在本地主机上监听。如果您想与它建立远程连接,您必须告诉它监听来自远程主机的连接。
你mongodb.conf
有:
bind_ip = 127.0.0.1
删除它或者将其更改为更合适的内容。