<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    so true

    心懷未來,開創未來!
    隨筆 - 160, 文章 - 0, 評論 - 40, 引用 - 0
    數據加載中……

    http代理的那些事

    正向、反向都是A要訪問一些只有C才能訪問到的東西,中間通過C來中介;
    1。區別:
    正向:A告訴C,我要明確訪問B,C把B上的資源拽回來,返回給A;對B而言,訪問我的是C,壓根不知道A的存在;在A看來,我需要顯示的配置代理服務器C,要明確告訴C我要訪問的資源是B;
    反向:A告訴C,我要請求一些資源,C知道資源在B上,從B上把資源拽回來返回給A;對B而言,直接訪問我的是C但同時也知道真正的資源請求者是A;在A看來,壓根不知道B的存在,一直以為資源就是在C上;
    總結:正向非常簡單理解,就是委托C幫我訪問,出了事也都是C兜著,C這里僅僅是一個傻傻的替人干活和頂雷的工具,說白了就是A在本地wget拽B的資源不行,但在C上wget是可以拽下來B的資源的(當然這里C也得是一個server進程,因為要偵聽端口等待A來訪問,還要返回結果給A);干反向代理的C不再是那么簡單的一個工具了,而是一個真正意義上的service,可以綜合考慮A的需求和B的服務能力來做智能轉發,因此會具有負載均衡的能力(當然這里也可以使用最簡化版的C,即:C也只是一股腦的單純的把請求轉發給B,在這種意義上,貌似感覺反向干的還是正向干的事,實則不然,關鍵在于B,對于正向而言B是一個特定的資源,例如B可以是https://www.zhihu.com/question/19761434,也可以是http://blog.csdn.net/physicsdandan/article/details/45667357;對于反向而言,B只能是一個或幾個特定的服務地址,例如http://10.138.20.241:8834/,請求都是轉給這一個或這幾個特定服務地址的,當然這個特定服務地址也有可能又是proxy)
    2。典型應用場景:
    正向:翻到墻外去看片;
    反向:把內網的資源暴露給外部訪問;
    3。能做代理的軟件:
    a. nginx:正反都可以,但不支持https;
    b. 正向代理支持https的:http://www.oki-osk.jp/esc/python/proxy/TinyHTTPProxy-0.2.1.zip就一個python文件,最簡單易用,已經測試過svn可以用它(配置下~/.subversion/servers里的[global]下的http-proxy-host和http-proxy-port就可以了),更多的參見https://www.zhihu.com/question/19871146;
    4。一句話總結:
    都是把http請求進行轉發,調整幾個header字段而已;反向代理主要干內網暴露和負載均衡這兩件事;
    最后附上nginx正反向代理的配置模板:
    正向代理:
    server { 
        resolver 8.8.8.8; 
        resolver_timeout 5s; 
        listen 8081; 
        location / { 
            proxy_pass $scheme://$http_host$request_uri; 
            proxy_set_header Host $http_host; 
            proxy_buffers 256 8k; 
            proxy_max_temp_file_size 0; 
            proxy_connect_timeout 30; 
            proxy_cache_valid 200 302 10m; 
            proxy_cache_valid 301 1h; 
            proxy_cache_valid any 1m; 
        } 
    }
    反向代理:
    upstream apachephp  {
        server ip:8080;
    }
    server {
        listen 80;
        server_name www.myblog.cn;
        access_log  logs/quancha.access.log  main;
        error_log   logs/quancha.error.log;
        root        html;
        index       index.html index.htm index.php;
        ## send request back to apache ##
        location / {
            proxy_pass  http://apachephp;
            #Proxy Settings
            proxy_redirect             off;
            proxy_set_header           Host             $host:$server_port;
            proxy_set_header           X-Real-IP        $remote_addr;
                     proxy_set_header                             REMOTE-HOST           $remote_addr;
            proxy_set_header           X-Forwarded-For  $proxy_add_x_forwarded_for;
            proxy_next_upstream        error timeout invalid_header http_500 http_502 http_503 http_504;
            proxy_max_temp_file_size   0;
            proxy_connect_timeout      90;
            proxy_send_timeout         90;
            proxy_read_timeout         90;
            proxy_buffer_size          4k;
            proxy_buffers              4 32k;
            proxy_busy_buffers_size    64k;
            proxy_temp_file_write_size 64k;
        }
    }

    posted on 2016-06-08 16:31 so true 閱讀(274) 評論(0)  編輯  收藏 所屬分類: Linux

    主站蜘蛛池模板: 一日本道a高清免费播放 | 深夜国产福利99亚洲视频| 亚洲国产精品综合久久久| 99在线免费观看视频| 亚洲综合一区二区国产精品| 毛片在线播放免费观看| 亚洲男人天堂av| 无码AV片在线观看免费| 久久精品国产亚洲AV电影| 欧洲一级毛片免费| 国产91在线|亚洲| 在线观看免费a∨网站| 国产亚洲欧美在线观看| 国产无遮挡又黄又爽免费视频 | 亚洲精品人成电影网| 9277手机在线视频观看免费| 亚洲精品偷拍无码不卡av| 最近的中文字幕大全免费版| 亚洲熟妇AV乱码在线观看| 国产免费卡一卡三卡乱码| 黄色一级免费网站| 国产亚洲精AA在线观看SEE| 久久综合国产乱子伦精品免费| 亚洲欧洲春色校园另类小说| 成人免费无毒在线观看网站| 黄页网址在线免费观看| 久久久青草青青亚洲国产免观| 99久久国产免费-99久久国产免费 99久久国产免费中文无字幕 | 91久久精品国产免费一区| 久久久影院亚洲精品| 97在线线免费观看视频在线观看 | 污网站在线免费观看| 在线亚洲午夜理论AV大片| 久久久久国产精品免费免费不卡 | 中国极品美軳免费观看| 亚洲国产精品xo在线观看| 免费人成在线观看视频播放| 一级特黄录像免费播放肥| 亚洲国产精品成人久久久| 免费人成激情视频| 国产va在线观看免费|