• 正向代理与反向代理


    通常会遇到一些问题,是因为设置代理或不设置代理引起的。我相信大多数同事,听的比较多的是代理这个词,但实际上并不了解其中是什么意思,或者了解,但也不具体。

    从理论上讲一下吧!

    正向代理的概念

    正向代理,也就是传说中的代理,他的工作原理就像一个跳板,
    简单的说,
    我是一个用户,我访问不了某网站,但是我能访问一个代理服务器
    这个代理服务器呢,他能访问那个我不能访问的网站
    于是我先连上代理服务器,告诉他我需要那个无法访问网站的内容
    代理服务器去取回来,然后返回给我

    从网站的角度,只在代理服务器来取内容的时候有一次记录
    有时候并不知道是用户的请求,也隐藏了用户的资料,这取决于代理告不告诉网站

    结论就是 正向代理 是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端必须要进行一些特别的设置才能使用正向代理。

    A想吃一块饼干,要找个商店去买来才可以,店子要去厂家进货卖给A。那么这个商店对于这个用户A来讲。就是一个代理服务器。而且也并不是所有店子都有这种饼干卖的,所以选择哪家店是用户A要考虑的。

    反向代理的概念

    继续举例:
    例用户访问 http://mrobot.pcbaby.com.cn/s-3600/qzbd/cms/recordsRecommended.xsp?day=1&v=300
    mrobot.pcbaby.com.cn这个服务器上并不存在s-3600/qzbd/cms/recordsRecommended.xsp?day=1&v=300页面或内容
    他是偷偷从另外一台服务器上取回来,然后作为自己的内容吐给用户

    但用户并不知情
    这很正常,用户一般都很笨

    这里所提到的 mrobot.pcbaby.com.cn这个域名对应的服务器就设置了反向代理功能

    我们常用到的nginx作最多的是反向代理。它不需要客户端去设置什么。全由反向代理服务器帮忙处理了。

    location ~ ^/(x|s|p)(-(d+))?(-u2g|-g2u|-g2g|-u2u)?/qzbd(.+?){
                proxy_pass          http://WEB_XSP_BABY_QZBD;
                proxy_redirect      off;
                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_pass
    就是反向代理到了:

    #亲子宝典xsp服务器
    upstream WEB_XSP_BABY_QZBD {
            server 192.168.74.80:8976;
       }

    结论就是 反向代理正好相反,对于客户端而言它就像是原始服务器,并且客户端不需要进行任何特别的设置。客户端向反向代理 的命名空间(name-space)中的内容发送普通请求,接着反向代理将判断向何处(原始服务器)转交请求,并将获得的内容返回给客户端,就像这些内容 原本就是它自己的一样。

  • 相关阅读:
    轻松学习之Linux教程二 一览纵山小:Linux操作系统具体解释
    SpringMVC经典系列-15对SpringMVC的总结---【LinusZhu】
    Testng 的数据源 驱动測试 代码与配置
    怎样统计分析CSDN博客流量
    python小知识点
    Javascript 笔记与总结(2-10)删除节点,创建节点
    C#6.0语言规范(十四) 枚举
    C#6.0语言规范(十三) 接口
    C#6.0语言规范(十二) 数组
    C#6.0语言规范(十一) 结构
  • 原文地址:https://www.cnblogs.com/sincoolvip/p/7249173.html
Copyright © 2020-2023  润新知