公网访问阿里云数据库MongoDB——填坑笔记

业务情景

两台服务器,一台阿里云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

相关文章
相关标签/搜索