需求如下:
在阿里云服务器上搭建了一个供内部人员使用的web系统,但是又不想把端口开放了,觉得不够安全,只想让一部分人能够访问得到,于是决定使用xshell的隧道功能做端口转发。
准备如下:
阿里云服务器以及可供访问的web系统,端口8680。为了安全阿里云安全组里并没有开放此端口。
阿里云的ssh服务要开放并且能够远程连接,端口22,有可以远程访问的账号。
步骤:
1、配置xshell连接服务器
2、配置账号信息
3、配置隧道信息
添加后如下:
4、按照ssh的使用方式连接服务器
5、连接之后就不用管了,打开浏览器访问http://localhost:8680/即可
现在浏览器访问的就是阿里云服务器的系统了,这是最简单的方式了,当然代价就是你需要给使用的人分配一个服务器的ssh连接账号。
如果觉得给用户分配ssh连接账号还是不够安全,那么可以在服务器上再做端口转发:例如有两台云服务器A和B,我们在A上部署了web系统,但是又不想给用户A的连接信息,那么可以在B上创建账号,根据上边的步骤连接B服务器,然后在B服务器上,配置端口转发到A服务器,这样用户实际访问的时候就是先到B再到A,相对来说就又提高了一层安全性。关于ssh端口转发可以参考:https://www.cnblogs.com/zangfans/p/8848279.html
----------2018-12-16更新---------
做个小补充,上文中提到的ssh端口转发,有个更简单的方式,例如我想访问B服务的1521端口(oracle的服务),但是我只有A的ssh账号信息,并且A和B在同一个局域网中,那么使用ssh隧道功能可以轻松实现从A转发到B的功能,如下:
以上配置是在A服务器的xshell连接信息上加的。加完之后,要把你原先连接oracle服务的地址信息改为localhost 1522端口,其它不用改,就可以了。还是很方便的。
-------------------------------------
web系统的安全,更多的还是需要靠系统本身的强大和坚固才行。