公网访问阿里云数据库MongoDB——填坑笔记
業務情景
兩臺服務器,一臺阿里云ECS云服務器(專用網絡),另一臺是阿里云數據庫MongoDB,處于安全考慮MongoDB是不運行外網連接的,那接下來就看怎么實現公網訪問。
看到上面紅色的網絡類型描述,有些人可能已經看出問題所在了,小小的提示:問題出現在開放端口上!
專用網絡和經典網絡的大致區別可以用一句話講明白:專用網絡更安全,需要設置和配置的東西比較多,適合精通網絡的高手;經典網絡使用更方便,適合更適合小白用戶,使用起來更簡單方便,不用繁雜的配置;
思路分析
既然無法直接使用公網(俗稱的外網都是一個意思),那就使用端口轉發的形式,把可以訪問的一臺服務器的公網ip和端口轉到MongoDB的服務器即可,接下來我們使用rinetd的方式實現端口轉發。
具體步驟
rinetd的安裝方式有兩種,如果是Ubuntu系統,可用apt-get install rinetd -y安裝.
下面重點介紹源碼安裝
1、安裝rinetd
分別執行下面命令:
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 install2、配置端口映射
打開文件/etc/rinetd.conf,配置內容:
1 0.0.0.0 3717 MongoDB的鏈接地址 3717 2 logfile /var/log/rinetd.log0.0.0.0表示本機的所有ip.
如圖:
?
3、啟動/關閉 rinetd
啟動:rinetd關閉:killall rinetd
4、查看運行情況
netstat -tanulp|grep rinetdtcp ? ? ? ?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
?
總結
以上是生活随笔為你收集整理的公网访问阿里云数据库MongoDB——填坑笔记的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: WebApi开启CORS支持跨域POST
- 下一篇: 实战:Redis 哨兵模式(下)