nginx 正向代理 反向代理

最近項目中需要用到nginx的轉發功能,所有查了一些相關資料

正向代理

正向代理 是一個位於客戶端和原始服務器(origin server)之間的服務器,爲了從原始服務器取得內容,客戶端向代理髮送一個請求並指定目標(原始服務器),然後代理向原始服務器轉交請求並將獲得的內容返回給客戶端。客戶端必須要進行一些特別的設置才能使用正向代理。

反向代理

反向代理正好相反,對於客戶端而言它就像是原始服務器,並且客戶端不需要進行任何特別的設置。客戶端向反向代理的命名空間(name-space)中的內容發送普通請求,接着反向代理將判斷向何處(原始服務器)轉交請求,並將獲得的內容返回給客戶端,就像這些內容原本就是它自己的一樣。
簡單的區別方法:正向代理就是我們在瀏覽器可以設置的代理服務器,主動權在瀏覽者手裏。比如我們有時候要查閱一些資料,被國內牆掉了,這時候我可以在國外的服務器上搭建一個nginx正向代理服務器,然後我們就可以通過瀏覽器設置代理服務器,來翻牆了。反向代理,是瀏覽者不知情的,服務器端自己假設的。
更加細緻的分析:http://z00w00.blog.51cto.com/515114/1031287

nginx正向代理配置

server{  
        resolver 8.8.8.8;  
        resolver_timeout 30s;   
        listen 82;  
        location / {  
                proxy_pass http://$http_host$request_uri;  
                proxy_set_header Host $http_host;  
                proxy_buffers 256 4k;  
                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;  
        }  
}  

1、不能有hostname。 
2、必須有resolver, 即dns,即上面的8.8.8.8,超時時間(30秒)可選。 
3、配置正向代理參數,均是由 Nginx 變量組成。 

proxy_pass $scheme://$host$request_uri;    
proxy_set_header Host $http_host;

4、配置緩存大小,關閉磁盤緩存讀寫減少I/O,以及代理連接超時時間。  

proxy_buffers 256 4k;    
proxy_max_temp_file_size 0;    
proxy_connect_timeout 30;    

5、配置代理服務器 Http 狀態緩存時間。

proxy_cache_valid 200 302 10m;    
proxy_cache_valid 301 1h;    
proxy_cache_valid any 1m;  


nginx反向代理服務器配置(待補充)





轉自:http://blog.csdn.net/newborn2012/article/details/24248961

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章