兩臺服務器,一臺阿里雲ECS雲服務器(專用網絡),另外一臺是阿里雲數據庫MongoDB,處於安全考慮MongoDB是不運行外網鏈接的,那接下來就看怎麼實現公網訪問。html
看到上面紅色的網絡類型描述,有些人可能已經看出問題所在了,小小的提示:問題出如今開放端口上!數據庫
專用網絡和經典網絡的大體區別能夠用一句話講明白:專用網絡更安全,須要設置和配置的東西比較多,適合精通網絡的高手;經典網絡使用更方便,適合更適合小白用戶,使用起來更簡單方便,不用繁雜的配置;安全
既然沒法直接使用公網(俗稱的外網都是一個意思),那就使用端口轉發的形式,把能夠訪問的一臺服務器的公網ip和端口轉到MongoDB的服務器便可,接下來咱們使用rinetd的方式實現端口轉發。服務器
rinetd的安裝方式有兩種,若是是Ubuntu系統,可用apt-get install rinetd -y安裝.網絡
下面重點介紹源碼安裝tcp
一、安裝rinetd阿里雲
分別執行下面命令:spa
1. wget http://www.boutell.com/rinetd/http/rinetd.tar.gz&&tar -xvf rinetd.tar.gz&&cd rinetd 2. sed -i 's/65536/65535/g' rinetd.c 3. mkdir /usr/man&&make&&make install
二、配置端口映射code
打開文件/etc/rinetd.conf,配置內容:htm
1 0.0.0.0 3717 MongoDB的連接地址 3717 2 logfile /var/log/rinetd.log
0.0.0.0表示本機的全部ip.
如圖:
三、啓動/關閉 rinetd
啓動:rinetd
關閉:killall rinetd
四、查看運行狀況
netstat -tanulp|grep rinetd
tcp 0 0 0.0.0.0:3717 0.0.0.0:* LISTEN 4270/rinetd
如上內容,顯示是運行正常的。
通過如上的配置以後,使用公網鏈接仍是失敗了,訪問不了!筆者通過數次改配置,反覆啓動ip,仍是無果,因而感受進坑了!
通過筆者反覆排除,使用telnet等手段,分析得出3717的端口是問題的,因而爬文檔,發現若是服務器是專用網絡的話是須要手動設置開放端口的。
具體操做以下:雲服務器ECS => 安全組規則 => 添加安全組規則 => 如方向配置端口範圍3717/3717,以下:
通過配置以後,使用MongoDB客戶端鏈接居然成功了,如圖:
開森
參考:https://help.aliyun.com/knowledge_detail/39952.html