原因
公司在亚马逊上购买了一台AWS服务器,使用内网连接超级慢(应该是公司内网的锅),即使登录进去了,一直卡卡的,输入命令回显平均延迟1分钟。。。就是在这种环境下,我竟然忍着安装了docker,然后在docker中启动了mysql,redis,nginx服务,接着部署了两个java web后端项目(目的时使用nginx做双机热备,这样后端更新一台服务时,不影响用户使用),整整花了我一天!!!但是内网连接到阿里云服务器速度那是杠杠的,于是就想着使用ssh反向隧道连接到AWS服务器上。
服务器介绍
- AWS(目标服务器:) 用户名(ubuntu),ip地址(xxx.xxx.ubun.tu)
- 阿里云服务器(中间服务器):用户名(root),ip地址(xxx.xxx.ali.yun)
ssh反向隧道概念
原理是通过反向代理和正向代理结合使用。
1.反向代理:使用代理服务器(阿里云)来接受外部internet请求,然后将请求转发给内部服务器(AWS),将服务器处理结果返回给外部internet请求客户端,此时代理服务器和内部服务器时一体的,一般是通过外网来访问公司内网服务器。
2.正向代理:正向代理服务器是位于请求客户端和真正数据源服务器中间的一台代理服务器,比如我们国内想访问google,需要翻墙,这里的翻墙其实就是使用了代理服务器,我们将请求发给代理服务器,代理服务器帮我们去源服务器取数据然后将处理结果返回给我们。代理服务器需要配置,其实就是交钱才给干活!!!
ssh反向连接过程
- 首先登录到AWS目标服务器上,建立AWS服务器到阿里云服务器的反向代理