DMZ区域及非军事管理区域,及安全区划。
三层架构中,网络工程师一般将网络分为三个层次:
第一层,DMZ区,这里实现了应用的代理功能,
-》应用负载;
负载均衡的意思,会分发请求,和单点故障消除;
-》加速功能;
据说这个nginx反向代理比squid的加速还要好。具体的实现原理是将请求的数据缓存起来,在核心层的数据没有变化之前
所有的请求都是从缓存中返回,所以加速了应用;
-》安全问题;
如果这里被攻破了,这里并没有实际的应用数据,所以保护了核心业务;
-》过滤ssl,
一般这里会把https的,也就是SSL认证的这块用webservers过滤掉,之后将其他应用的端口反向代理过来;
-》NAT功能
如weblogic是中间件、是不允许将自身的服务端口设置为80或者443的、那么就需要用nginx反向代理过来,要么就使用负载均衡,但负载均衡是需要花钱的,而且还不便宜、据说差不多的都得30W左右。
第二层,核心层;
-》这里是真实的物理主机 ,提供对外的服务提供。 这里的策略是只接受从DMZ区域的主机的访问;
而这里的nginx主要充当中间件的作用,及提供真实的业务应用服务;
最典型的这层里部署的是 IBM websphere[was] \ ORACLE weblogic
第三层,数据区;
-》这里是生产数据存储区,这里的策略是仅接受从核心区的请求而且是单向的;
NGINX的反向代理功能及DMZ区域的实现。
nginx的反向代理一方面是可以用作负载,及常说的软负载;另一方面就是访问加速功能;
这样就可以接受各个端口的请求,如,80,21之后将这些请求转发到真实的物理机器,而在应用防火墙中设置从DMZ到核心区的访问控制策略,
这样就满足了DMZ区域的缓存和安全需求。
而且nginx还可以像负载均衡一样,可以做会话保持,如基于来源的,基于cookie的。
这样做的好处就是即提高了应用的访问速度,又可以增加安全性。