【轉】將Apache配置爲代理服務器的方法

設置代理 shell

        假設apache 安裝在/usr/local/apache2,設環境變量 $APACHE_HOME=/usr/local/apache2。 打開$APACHE_HOME/conf/httpd.conf,添加以下配置: apache

ProxyRequests on
ProxyRemote * http://proxy_ip:proxy_port
ProxyBlock <word/host/domain list>

ProxyRemote 定義此SERVER的遠程代理,若是能直接連Internet,則不須要設置。 *表示對全部請求都使用遠程。ProxyBlock定義哪些站點的請求被PROXY阻斷,好比 瀏覽器

ProxyBlock 123.com  www.ftt.net ffff

表示凡是在域名中出現ffff,123.com以及 域名是www.ftt.net的站點都會被Proxy阻斷,致使沒法訪問。  緩存

至此,Proxy設置完成 服務器

設置緩存 dom

打開$APACHE_HOME/conf/httpd.conf 

1)CacheRoot <diretectory>定義緩存存放的位置 , 好比 spa

CacheRoot /var/cache/httpd

就是說全部的緩存都會放在/var/cache/httpd目錄下面。  .net

2)CacheSize <size> 定義緩存區大小,以KB爲單位。  代理

 
3) CacheGcInterval <time> , 每隔<time>小時檢查緩存區,若是已經超過CacheSize就刪除文件。缺省是4 

 

4)   CacheMaxExpire <time>      HTTP文件最多被保持<time>小時。缺省是24  code

5)CacheLastModifiedFactor <factor> 定義HTTP文件失效因子,缺省是0.1 

意思是說失效期=離最近一次修改的時間間隔 * <factor>,好比距離最近一次修改的時間是5小時, 那麼5X0.1=0.5小時後緩存失效。 

6)  CacheDirLevels    定義緩存子目錄層數,缺省是1 

7)  CacheDirlength    設置緩存子目錄名字的長度,缺省是1(即全部子目錄的名字都是由一個字母組成)

8)  NoCache <word/host/domain list> 定義哪些站點不要緩存。 

好比

NoCache 123.com  www.ftt.net ffff

 表示凡是在域名中出現ffff,123.com以及域名是www.ftt.net的站點都會不被PROXY緩存。 

下面是我在本地服務器上的部分配置, 僅供參考:
ProxyRequests on 
CacheRoot /var/cache/httpd 
CacheSize 5000 
CacheGcInterval 4 
CacheMaxExpire 24 
CacheLastModifiedFactor 0.1 
CacheDefaultExpire 1

規定哪些IP地址能夠使用PROXY SERVER,哪些不能夠 
<Directory proxy:*> 
    <limit GET PUT DELETE CONNECT OPTIONS> 
        order deny allow 
        deny  from [不能夠使用Proxy Server的IP地址或者節點名] 
        allow from [能夠使用Proxy Server的IP地址或者節點名] 
    </limit> 
</Directory>

 

設置用戶的瀏覽器使用PROXY 
   略

若是須要給代理添加驗證,請參考: http://stackoverflow.com/questions/724599/setting-up-an-apache-proxy-with-authentication
相關文章
相關標籤/搜索