如何使用自動配置腳本

很多時候在Internet接入時只使用代理方式而非NAT,那麼給使用代理的客戶終端設置代理服務器將是一件很煩瑣的事情,特別是當代理服務器進行各種改動(比如服務器IP地址,服務端口等等變了)後,不得不對通知所有的客戶重新進行設置。Proxy   Auto-Config(PAC)腳本解決了這些問題。 


在Internet   Explorer的代理設置裏面有一個“使用自動配置腳本”的選項,這裏的自動配置腳本指的就是PAC腳本。這是一種以.pac爲擴展名的JavaScript腳本,可以把它放在內部網絡的某個web服務器上,設置客戶端IE瀏覽器把“自動配置腳本選項”指向它(比如http://192.168.100.1/proxy.pac),完成集中設置代理配置的工作。 

  

PAC腳本還可以根據用戶訪問請求的不同設置不同的代理策略,比如,用戶訪問內部網的某臺服務器時,PAC腳本可以告訴瀏覽器該訪問將不通過代理服務器,而用戶訪問的是內部網以外的地址時,PAC腳本告訴瀏覽器這個訪問請求使用代理。 

  

PAC腳本另外一個重要的應用是多臺代理服務器並存的情況下,通過pac腳本的控制: 

                  用戶隨機選擇使用多臺代理服務器中的任意一臺來達到流量負載均衡的目的; 

                  管理員通過PAC腳本控制用戶使用和不使用某臺代理服務器,這樣可以空出時間對代理服務器進行維護; 

                  讓服務器工作在主備模式,當主服務器宕機時,會自動切換到其它備用服務器而不會中斷服務;

                  根據訪問目的地的不同,自動選擇最佳代理服務器。 
  

PAC腳本中必須定義一個名爲FindProxyForURL的函數,這個函數會被瀏覽器自動調用。其格式如下: 

function   FindProxyForURL(url,   host) 



        …… 



  

下面給出一個實際應用中使用過的簡單例子,這裏只有1臺squid代理服務器:134.40.22.48,服務端口是3128,腳本中根據客戶端IP地址判斷用戶通過何種途徑訪問Internet或其他資源: 

  

function   FindProxyForURL(url,   host) 


          if   (isInNet(myIpAddress(),   "10.21.193.0 ",   "255.255.255.0 "))   { 

                    return   "DIRECT "; 

          }   else   { 

                    return   "PROXY   134.40.22.48:3128 "; 

          } 



  

根據上面的腳本,整個局域網中,除了地址是10.21.193.0/255.255.255.0的終端,其他終端訪問Internet都要經代理服務器134.40.22.48。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章