Mongodb

如何創建 Mongo 配置文件以允許訪問埠 28017 上的 http

  • February 28, 2017

好吧,我想配置 mongo 伺服器以允許訪問 http。

我把它放在我的 mongo 配置文件中:

port = 28017
rest = true

當我重新啟動我的 mongod 服務並嘗試訪問時,我在瀏覽器上收到了這條消息。

看起來您正試圖在本機驅動程序埠上通過 HTTP 訪問 MongoDB。

我檢查我的日誌:

cat /log/mongod.log
2015-08-07T18:07:27.430+0000 [initandlisten] MongoDB starting : pid=20333 port=28017 dbpath=/data 64-bit host=ip-x-y-z-d
2015-08-07T18:07:27.430+0000 [initandlisten] db version v2.6.10
2015-08-07T18:07:27.430+0000 [initandlisten] git version: 5901dbfb49d16eaef6f2c2c50fba534d23ac7f6c
2015-08-07T18:07:27.430+0000 [initandlisten] build info: Linux build18.nj1.10gen.cc 2.6.32-431.3.1.el6.x86_64 #1 SMP Fri Jan 3 21:39:27 UTC 2014 x86_64 BOOST_LIB_VERSION=1_49
2015-08-07T18:07:27.430+0000 [initandlisten] allocator: tcmalloc
2015-08-07T18:07:27.430+0000 [initandlisten] options: { config: "/etc/mongod.conf", net: { http: { RESTInterfaceEnabled: true, enabled: true }, port: 28017 }, processManagement: { fork: true }, security: { authorization: "enabled" }, storage: { dbPath: "/data" }, systemLog: { destination: "file", path: "/log/mongod.log" } }
2015-08-07T18:07:27.434+0000 [initandlisten] journal dir=/data/journal
2015-08-07T18:07:27.434+0000 [initandlisten] recover : no journal files present, no recovery needed
2015-08-07T18:07:27.778+0000 [initandlisten] waiting for connections on port 28017
2015-08-07T18:07:27.778+0000 [websvr] admin web console waiting for connections on port 29017

我刷新瀏覽器,日誌顯示:

2015-08-07T18:24:09.246+0000 [initandlisten] connection accepted from 181.196.26.130:64683 #24 (1 connection now open)
2015-08-07T18:24:09.246+0000 [conn24] end connection IPAddress:64683 (0 connections now open)
2015-08-07T18:24:09.493+0000 [initandlisten] connection accepted from 181.196.26.130:53343 #25 (1 connection now open)
2015-08-07T18:24:09.493+0000 [conn25] end connection IPAddress:53343 (0 connections now open)

因此,如果日誌說它正在等待該埠上的連接,請給我一個響應,但我看不到 http 管理視圖,有什麼想法或提示嗎?

您使用的是 RHEL6 或核心版本的派生版本2.6.32-431.3.1.el6.x86_64。預設防火牆只允許 ssh 傳入。您需要在防火牆上戳一個洞。在此處查看防火牆提示:

http://wiki.centos.org/HowTos/Network/IPTables

--port參數控制一個mongodmongos伺服器偵聽 TCP 連接的基本埠。

HTTP 介面可在比基本埠大 1000 的埠號訪問,因此--port如果您啟用了 HTTP 介面,則可以通過埠 29017 連接到 28017。

您可以在啟動時看到伺服器日誌中列出的兩個埠:

2015-08-07T18:07:27.778+0000 [initandlisten] waiting for connections on port 28017
2015-08-07T18:07:27.778+0000 [websvr] admin web console waiting for connections on port 29017

注意:HTTP 和 REST 介面不支持身份驗證,不適合生產環境(預設禁用它們以防止潛在的數據洩露)。

有關更多資訊,請參閱MongoDB 手冊中的網路暴露安全檢查表詳細資訊。

引用自:https://dba.stackexchange.com/questions/109409