随着企业的不断发展,网络服务提供商日益提高网络安全级别,企业的内外网越来越被限制。那就意味着,如果在内网环境中,就必须想办法突破内网限制,才可以访问外网资源,比如具外网环境中的数据库,比如Redis 。 想要突破内网限制,首先要确认内外网设备是什么情况。如果内网中的设备都使用固定的公网 IP 地址,只需要做简单的端口映射。只需要在内网的路由器(服务器)上开放某个端口,并在外网中连接该端口,就可以实现数据库的连接。
//在内网中路由器(服务器)中开放某个端口iptables-I INPUT-p tcp --dport 6379 -j ACCEPT//外网连接公网IP和开放的端口redis-cli -h xxx.xxx.xxx.xxx -p 6379
如果内网设备使用动态 IP,我们就需要在外网服务器上安装一个服务端程序,能够实现外网服务器与内网设备之间的隧道连接。一般来说,服务端需要安装一个ssh服务器(比如,OpenSSH),通过 ssh 建立服务端和远程终端的连接。这种方法支持 windows 和 linux系统,也可以支持 mac os x, iOS 和 其他移动设备,但是要注意安装的软件版本的不同的问题。
使用 SSH 连接 Redis 数据库,首先要在服务但上安装那个一个 ssh 服务,然后在客户端机器上安装一个 ssh 客户端,可以使用 putty 配置服务端,在客服端,执行以下命令
//使用ssh建立服务端和远程终端的连接ssh -p //使用redis客户端连接服务端开放的本地端口redis-cli -h localhost -p 6379
我们来介绍一种反向代理方法,可以使用一个反向代理,可以让内网访问外网,也可以让外网访问内网。思路是,内网中的设备,将所有请求发送到一台反向代理服务器,反向代理服务器实现代理外网服务,这样,就实现了内网访问外网服务。反向代理服务端一般采用 Nginx 作为反向代理服务,这样就可以很方便的实现访问 Redis 的连接了。
突破内网限制,连接 Redis 数据库,一般有三种方法,分别是固定 IP 映射、 SSH 连接,以及反向代理。具体方法要根据实际情况来选择,熟悉这三种方法之间的优劣,才能更好的突破内网的限制,更好的访问 Redis 数据库。