欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

正向代理和反向代理

程序员文章站 2022-06-18 11:42:58
...

网络代理分为正向代理和反向代理

  1. 正向代理,当客户端无法访问外部资源的时候(由于诸如墙这样的原因),可以通过一个正向代理去间接地访问,所以客户端需要配置代理服务器的ip。
    正向代理是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端必须要进行一些特别的设置才能使用正向代理
    正向代理和反向代理

     		正向代理
    

正向代理的用途:
(1)访问原来无法访问的资源,如google
(2)可以做缓存,加速访问资源
(3)对客户端访问授权,上网进行认证
(4)代理可以记录用户访问记录(上网行为管理),对外隐藏用户信息
2. 初次接触方向代理的感觉是,客户端是无感知代理的存在的,反向代理对外都是透明的,访问者者并不知道自己访问的是一个代理。因为客户端不需要任何配置就可以访问。
  反向代理(Reverse Proxy)实际运行方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。
反向代理的作用:
1.保证内网的安全,可以使用反向代理提供WAF功能,阻止web攻击
大型网站,通常将反向代理作为公网访问地址,Web服务器是内网。
正向代理和反向代理

2.负载均衡,通过反向代理服务器来优化网站的负载
正向代理和反向代理

	 反向代理

更为形象的图解
正向代理和反向代理
正向代理和反向代理
链接:https://www.jianshu.com/p/a1c35f5d27f7

nginx的反向代理
  nginx支持配置反向代理,通过反向代理实现网站的负载均衡。这部分先写一个nginx的配置,后续需要深入研究nginx的代理模块和负载均衡模块。
nginx通过proxy_pass_http 配置代理站点,upstream实现负载均衡。
upstream www_proxy_test_80 {
server 190.80.12.112:80;
}
server {
listen 80;
server_name www . site3. com ;
location / {
proxy_ pass http:/ /www_ proxy_ test_ 80;
proxy_ set_ header Host $host ;
proxy_ set_ header X-ReaL-IP $remote_ addr ;
proxy_ set_ header X-Forwarded-For $proxy_ add_ x_ forwarded_ for ;
proxy_ set_ header X-Forwarded-Proto https ;
proxy_ redirect off ;
}
}

参考资料:
http://z00w00.blog.51cto.com/515114/1031287
http://blog.csdn.net/m13666368773/article/details/8060481

相关标签: Proxy proxy