close

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

firefox seting pac

IE:IE就不像firefox那麼聰明了,必須自己加上http://,否則無法生效。若是要本機存取一樣打上file://c:/proxy.pac的格式

ie setting 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

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 amon0626 的頭像
    amon0626

    A夢之IT可憐貓

    amon0626 發表在 痞客邦 留言(0) 人氣()