无法连接到远程 mongodb 服务器
Cannot connect to remote mongodb server
我将 bindIp 设置更改为
bindIp: 127.0.0.1, 0.0.0.0
在我的 ubuntu 服务器上 mongod.conf 托管在 Linode 上并重新启动 mongod,状态看起来正常。
我在 ufw
上打开了 mongodb 端口
sudo ufw 状态
状态:活跃
To Action From
-- ------ ---- 22/tcp ALLOW Anywhere 10000
ALLOW Anywhere Nginx Full
ALLOW Anywhere 3333
ALLOW Anywhere 27017
ALLOW Anywhere 22/tcp (v6)
ALLOW Anywhere (v6) 10000 (v6)
ALLOW Anywhere (v6) Nginx Full (v6)
ALLOW Anywhere (v6) 3333 (v6)
ALLOW Anywhere (v6) 27017 (v6)
ALLOW Anywhere (v6)
从我的 mac 连接到它会抛出错误:
mongo mongodb://admin:secret@ubuntuipaddress/fielddb?authSource=admin
MongoDB shell version v3.6.2 connecting to:
mongodb://ubuntuipaddress/fielddb?authSource=admin
2018-04-08T13:47:32.212 W NETWORK [thread1] Failed to connect to
ubuntuipaddress:27017, in(checking socket for error after poll),
reason: Connection refused 2018-04-08T13:47:32.214 E QUERY
[thread1] Error: couldn't connect to server ubuntuipaddress:27017,
connection attempt failed : connect@src/mongo/shell/mongo.js:251:13
@(connect):1:6 exception: connect failed
如何解决这个问题?
关闭你的防火墙并尝试看看你是否可以连接,如果你可以那么这是你的防火墙规则。先试试这个,看看是否有帮助。
问题是 mmongod.conf 中的 bindIP 设置错误。更改为:
bindIp: 127.0.0.1,ip_address_of_host_running_mondgod
已解决问题。替换 ip_address_of_host_running_mondgod
主机的 IP 地址 运行 mongod 如 137.142.177.4
在 Ubuntu 上为 Mongodb 运行 启用远程访问的基本步骤是:
- 在 Mongodb 中至少设置一个用户(具有 root 权限的管理员)
- 编辑配置文件(即 sudo nano etc/mongodb.conf)
- 确保
bind_ip = 0.0.0.0
port = 27017
auth = true
已设置(且未注释)
- 在 UFW 中添加防火墙规则以允许来自您的远程 IP 地址(或任何位置)的 27017
你应该可以开始了。
我将 bindIp 设置更改为
bindIp: 127.0.0.1, 0.0.0.0
在我的 ubuntu 服务器上 mongod.conf 托管在 Linode 上并重新启动 mongod,状态看起来正常。
我在 ufw
上打开了 mongodb 端口sudo ufw 状态 状态:活跃
To Action From -- ------ ---- 22/tcp ALLOW Anywhere 10000
ALLOW Anywhere Nginx Full
ALLOW Anywhere 3333
ALLOW Anywhere 27017
ALLOW Anywhere 22/tcp (v6)
ALLOW Anywhere (v6) 10000 (v6)
ALLOW Anywhere (v6) Nginx Full (v6)
ALLOW Anywhere (v6) 3333 (v6)
ALLOW Anywhere (v6) 27017 (v6)
ALLOW Anywhere (v6)
从我的 mac 连接到它会抛出错误:
mongo mongodb://admin:secret@ubuntuipaddress/fielddb?authSource=admin MongoDB shell version v3.6.2 connecting to: mongodb://ubuntuipaddress/fielddb?authSource=admin 2018-04-08T13:47:32.212 W NETWORK [thread1] Failed to connect to ubuntuipaddress:27017, in(checking socket for error after poll), reason: Connection refused 2018-04-08T13:47:32.214 E QUERY
[thread1] Error: couldn't connect to server ubuntuipaddress:27017, connection attempt failed : connect@src/mongo/shell/mongo.js:251:13 @(connect):1:6 exception: connect failed
如何解决这个问题?
关闭你的防火墙并尝试看看你是否可以连接,如果你可以那么这是你的防火墙规则。先试试这个,看看是否有帮助。
问题是 mmongod.conf 中的 bindIP 设置错误。更改为:
bindIp: 127.0.0.1,ip_address_of_host_running_mondgod
已解决问题。替换 ip_address_of_host_running_mondgod 主机的 IP 地址 运行 mongod 如 137.142.177.4
在 Ubuntu 上为 Mongodb 运行 启用远程访问的基本步骤是:
- 在 Mongodb 中至少设置一个用户(具有 root 权限的管理员)
- 编辑配置文件(即 sudo nano etc/mongodb.conf)
- 确保
bind_ip = 0.0.0.0
port = 27017
auth = true
已设置(且未注释)
- 在 UFW 中添加防火墙规则以允许来自您的远程 IP 地址(或任何位置)的 27017
你应该可以开始了。