优质博文:IT-BLOG-CN
一、正向代理(了解)
现实生活中客户端无法直接向服务端发起请求的时候 ,我们就需要代理服务器。正向代理的典型用途是为在防火墙内的局域网客户端提供访问Internet
的途径(例如:教学环境时,同学们使用的计算机就不能访问百度,只能通过老师的计算机作为代理服务器来获取信息)。正向代理还可以使用缓冲特性(由mod_cache
提供)减少网络使用率。代理可以实现客户端与原服务器之间的通信,Nginx
也可以实现相应的代理服务。
正向代理针对的是客户端,架构如下:客户端与代理服务器属于同一个LAN
,对互联网透明。
二、反向代理
反向代理Reverse Proxy
方式是以代理服务器来接收internet
上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet
上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。正向代理是针对你的客户端,而反向代理是针对服务器的。反向代理对外都是透明的,访问者者并不知道自己访问的是一个代理。因为客户端不需要任何配置就可以访问。
【1】保证内网的安全,可以使用反向代理提供WAF
(Web
应用防护系统)功能,阻止web
攻击大型网站,通常将反向代理作为公网访问地址,web
服务器是内网。web
服务器与代理服务器属于同一个LAN
,对客户端透明。
【2】负载均衡,通过反向代理服务器来优化网站的负载
三、Nginx 的反向代理
【1】Nginx
通过配置conf/nginx.conf
文件中的proxy_pass
属性,实现代理站点的配置(准备工作:启动一个Tomcat
)
upstream proxy_test { #server 后配置需要代理的服务器地址server 192.168.88.130:8080;}server {listen 80;server_name virtual.test.com;location / { #将上述 upstream 中配置的 server 名赋值到此处 proxy_pass http://proxy_test; index index.html;}}
【2】代理后,通过访问http://virtual.test.com/
虚拟域名(需要配置本机的HOSTS
文件),反向代理到Tomcat