PAC-File(Proxy Auto Config File),用中文來說就是proxy自動設定的設定檔
若您待在的機關、公司對外的網路都必須經過proxy(又稱應用層閘道)
身為使用者的你可能在瀏覽器裡面設定過proxy
身為管理者的你在公司裡面要將PC大量佈屬下去的時候一定也替PC設定過proxy
問題來了~
要是proxy有發生變動需要換位置(位置改變,機器掛掉),那不就要一台一台幫使用者改或是接電話接到手軟?這時候使用pac file的好處就來了,我們只需要管理一組proxy的組態並
將它用http的方式發佈,用戶端只需要設定好使用pac的方式去存取proxy組態
如果是針對不同的連線使用不同的proxy我們的pac file也可以做到(連A站用a proxy,連B站用b proxy,不經由proxy則直接連線)
又或者是常常因為工作環境常常變動必須一直變換proxy的人,我相信是需要這個東東的
最基本的pac file:
function FindProxyForURL(url,host)
{
return “PROXY 你家的proxy:port”;
}
你家的proxy:port這部分可以寫成:
test.com.tw:3128 或是
202.135.25.15:3128 也可以
注意,不需要加上http:// 喔!!!
複雜一點的pac file:
function FindProxyForURL(url, host)
{
if (isInNet(host, "192.168.0.0", "255.255.0.0")) {
return "DIRECT"; //若在private網路下不經由proxy直接連線
} else {
if (shExpMatch(url, "http:*"))
return "PROXY proxy1.example.com.tw:3128" ; //http的連線使用proxy1.example.com.tw
if (shExpMatch(url, "https:*"))
return "PROXY proxy2.example.com.tw:3128" ; //https的連線使用proxy2.example.com.tw
if (shExpMatch(url, "ftp:*"))
return "PROXY proxy3.example.com.tw:3128" ; //ftp的連線使用proxy3.example.com.tw
return "DIRECT"; //除了以上的連線之外則直接連線
}
}
最後存成文字檔案或xxx.pac,放到http server上或是本機磁碟裡就可以使用囉
瀏覽器要如何設定載入pac file呢?
有2種載入方式,一種是將pac file放在http server中由網路存取
而另外一種是將pac file放在本機磁碟裡
firefox:由網路存取pac直接打網址就好,firefox很聰明會自動幫你補上前面http://的部分。若是要放在本機裡面使用則是如下格式 file://c:/proxy.pac
IE:IE就不像firefox那麼聰明了,必須自己加上http://,否則無法生效。若是要本機存取一樣打上file://c:/proxy.pac的格式
奇怪~為啥剛剛寫的pac file好像沒有生效
我們先在瀏覽器裡輸入剛剛寫的pac file的位置來測試看看
阿哩,原來是我們的.pac檔被apache當成MIME Type來處理了
所以當我們輸入檔案位置的時候被要求用甚麼程式來處理
這邊有2個解決辦法
1. pac檔名不要取成".pac"(這不是廢話嗎)
2. 在apache設定檔裡拿掉MIME Type的設定
在ubuntu server上編輯/etc/mime.types
註解掉以下這行
application/x-ns-proxy-autoconfig pac
變成
#application/x-ns-proxy-autoconfig pac
留言列表