网络不再唯一绑定IP端口,所有的服务将可以对网络进行复用。
随着医院信息化的发展,越来越多的院内应用需要从内部的局域网发展到外部的广域网,由此带来的外网通路需求也越来越大。医院在使用对外网络服务时,一般会直接向网络运营商购买专线,运营商提供固定IP。根据医院的实际需求情况,运营商会提供1-2个固定IP供医院使用。在传统模式下,医院的对外服务网站、OA、内控等Web应用,系统默认直接使用固定IP地址及80端口。随着互联网的发展及应用程序的更新,医院对固定IP(特别是80端口)的需求也越来越大,例如:、小程序、支付宝服务号、企业钉钉、移动医生站、OA、医院自建官网等都有所需求,少量、稀缺的固定IP已经不够使用。日益增多的外网应用,对服务器的安全要求、性能要求也越来越高。这是因为:在固定IP有限的情况下,逐渐增多的Web应用必然要求开放更多的端口对外提供服务,端口开放得越多,针对端口的嗅探攻击也必然增多;针对越来越多的端口转发,在访问量剧增的情况下,会增大防火墙的硬件开销,对防火墙的性能带来压力。除此之外,这种访问方式需要用户死记IP地址及端口号,因此用户体验也并不友好。如何让外网访问更安全、更高效、更便捷,同时又不需投入太高的成本?为解决上述问题,需要引入反向代理这一服务器概念。本文对如何使用服务器反向代理进行初步探讨。什么是反向代理首先我们应理解什么是代理服务。代理服务可以理解为“普通客户端—代理服务器—应用服务器”的一条通路。普通代理(或称正向代理)是指用户通过代理服务器,访问应用服务器,如图1所示。用户数据通过因特网内代理服务器缓存中转,与应用服务器连接。对于应用服务器来说,接收到的信息来自代理服务器。在这种方式中,用户与应用服务器没有直接连接,代理服务器可以作为缓存以及数据交换中间服务器。此时的代理服务器一般是在客户网络中使用,也即普通代理的代理对象是客户端。图1
现在还有一种代理方式,称为反向代理。在这种方式中,代理服务器的作用主要也是进行数据缓存交换,但位置发生了改变,由原来的偏向用户接入,变成偏向应用服务器接入,如图2所示。图2
在反向代理模式中,用户访问的都是代理服务器,代理服务器再通过负载均衡、反向代理、URL映射等,将数据传送到后方的实际应用服务器。此时对于用户来说,只有一台代理服务器接入,并不能直接看到后面实际的应用服务器,也即反向代理的代理对象是服务端。反向代理在医院网络环境的应用目前,医院的网络现状是对外多应用服务器,且单一出口,主要采用的是“用户—外网—交换机、防火墙—NAT端口映射—内网服务器”这种形式,只能通过基于3、4层(网络层、传输层)不同端口号,来区别外网传入信息;IP端口被唯一占用,导致不同应用间无法同时使用HTTP协议的80端口、HTTPS的443端口。而使用反向代理功能后,将转为走第7层(应用层)协议。这样网络不再唯一绑定IP端口,所有的服务将可以对网络进行复用,实际就是“用户—外网—代理服务器—域名匹配转发—内网应用服务器”的形式。当然,在域名转发的代理服务器前端,也可架设防火墙、交换机等,对网络进行安全防护。同时,代理服务器也可安装一些过滤防护软件,提高整体外网接入的安全等级。两种常见反向代理的部署使用现在市面上有很多软件可以实现反向代理功能,例如:Nginx、Squid、Varnish、Apache TS、HAProxy、Application Request Routing(ARR)等。这里主要介绍Nginx以及Windows IIS自带的ARR工具。首先是Nginx。这是现阶段比较火的反向代理服务之一,由国外人员研发,主要运行于Linux、Unix系统中,Windows系统也可支持。当前网络上有很多关于Nginx的安装方法介绍,本文简述一下Windows版本的安装方法。第一步:到Nginx官网下载最新的Nginx安装包,并解压到本地。第二步:修改配置文件nginx.conf,添加反向代理配置。如图3所示,将域名www.vitonet.cn、wechat.vitonet.cn、oa.vitonet.cn、bi.vitonet.cn,分别映射到另外四个Web服务(截图非本院实例,见谅)。图3
第三步:命令行内执行“start nginx.exe”即可。其次是基于Windows IIS服务自带的ARR工具。这是一款Windows官方出品的反向代理工具。此工具依赖Windows IIS服务,对Windows操作系统的服务器相当友好,操作配置等都是图形界面其安装方式如下:首先到微软官方下载最新Application Request Routing安装包。如图4所示,点击安装即可。图4
安装完成后,在IIS管理器里会多出一个“URL重写”功能,进入后添加规则反向代理即可,如图5、图6所示。图5图6总结反向代理在医院的实际作用1.保护网站安全:经过外网防火墙过滤后,任何来自Internet的Web请求都必须先经过代理服务器,通过防火墙进行安全策略的最小化配置,对外网集群的应用进行最大化的保护。2.通过配置缓存功能加速Web请求:可以缓存真实服务器上的某些静态资源,减轻真实服务器的负载压力。3.节约IP资源:不用在外网防火墙上做多个地址转换策略,减轻防火墙压力,反向代理只需使用一个80端口,即可完成多个外网运用的分配。4.用户端体验良好:只需输入二级域名即可访问Web业务,不用再死记IP地址和端口号。作者简介普勇翔,昆明市第二人民医院信息中心主任,中国研究型医院学会信息化分会青年委员,全国医药技术市场协会电子病历技术专业委员会委员,云南省医院协会信息管理专业委员会委员,云南省计算机学会医疗信息专业委员会委员。 近期热文陆国咪专栏 | 后疫情时代基层医疗卫生信息化建设的几点思考
吴坤专栏 | 全方位解读医疗信息集成平台系列之二:平台作用与建设现状的再认识
【CHIMA2020】湘雅医院冯嵩:以“一体化”思想谋划新一代医院信息系统建设
【CHIMA2020】刘敏超:医院信息系统开放性对设计实现的影响
HIT专家网∣致力推进中国卫生信息化长按二维码可申请加入HIT专家网专业交流群投稿:[email protected]商务合作:(010)