我有2個EC2實例,第一個是節點js應用服務器,第二個是mongo數據庫服務器。我無法從應用程序服務器或任何其他地方訪問數據庫服務器。AWS MongoDB實例無法從Web服務器實例中訪問
我可以從mongodb服務器ping應用服務器(私有和公共ip地址),但不能ping應用服務器上的mongodb服務器(私有和公共ip地址)。我可以同時參與。
MongoDB服務器與作爲網絡領域的mongod的配置文件:
network
bind: [0.0.0.0, private_ip_of_instance]
無論如何,我認爲,不能是問題。我可以從實例中訪問我的mongo數據庫並查詢它。 mongodb服務器上的mongod服務的狀態是活動的。
蒙戈DB實例的輸出日誌說,應用程序服務器上
Waiting for connections on port 27017
我的NodeJS環境具有指向蒙戈DB服務器實例的端口27017的private_ip與數據庫名稱以及相應的配置文件。
的MongoDB實例的UFW防火牆具有以下狀態
22 ALLOW Anywhere
27017 ALLOW public_ip_address
27017 ALLOW private_ip_address
80/tcp ALLOW Anywhere
22 (v6) ALLOW Anywhere (v6)
80/tcp (v6) ALLOW Anywhere (v6)
,所以我不認爲它是阻止連接MongoDB服務器防火牆。
mongodb實例的安全組被配置爲允許從80端口的任何地方訪問。我試圖從我的本地機器上尋找mongdb實例的公共ip,但是所有的數據包都丟失了,我可以ping公共ip應用程序服務器並沒有丟失數據包。
它奇怪的原因一切工作之前。應用服務器正在與Mongodb服務器通話並獲取數據並返回到今天。
您是否沒有在分配給MongoDB服務器的安全組中打開端口「27017」?您只提到'80'端口由於某種原因打開。 –
@Mark B ....哦,我的....不能想象我刪除它的一個非常愚蠢的原因....謝謝....只是再次添加它。請添加您的答案 –