Nginx 代理
优质博文: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