Squid Proxy on Windows 2008

大綱:

安裝步驟引用以下網頁

下載 Windows 版,以時間來說,在此選擇 2.7.STABLE5 Standard 大小僅1.9MB

解壓縮它!擺在 c:\squid ,看設定檔,發現預設是擺在 c:\squid 的,若擺在其他地方要更改非常多的路徑設定

接著則是設定,請至 C:\squid\etc 逛逛,基本上要把存在的檔案 cp 一份出來

cachemgr.conf.default 複製成 cachemgr.conf

mime.conf.default 複製成 mime.conf

squid.conf.default 複製成 squid.conf

squid_radius_auth.conf.default 複製成 squid_radius_auth.conf

假設一切都用預設的,在啟動之前需要建立 cache 的目錄

c:\squid\sbin\squid.exe -z

最後,亦可以直接執行 C:\squid\sbin\squid.exe 就能啟動了

若希望開機自動執行,那試試這行 c:\squid\sbin\squid.exe -i (建議等設定檔都搞好後再這樣設定),設定後就可以透過[控制台]->[系統管理工具]->[服務] 來自行服務的啟動與關閉

設定檔調整:

5. 修改 c:\squid\etc\squid.conf

第 2861 行增加

代碼: [選擇]

visible_hostname localhost

第 2553 行增加

代碼: [選擇]

http_access allow localhost

6. 執行 c:\squid\sbin\squid.exe -z (建立快取檔的目錄)

7. 執行 c:\squid\sbin\squid.exe -i (將 Squid 安裝為 Windows 的"服務"之一, 以後開機就會自動執行)

8. 修改瀏覽器設定, 將 http , https , gopher , ftp 的 proxy 改為 localhost , port 3128

常見問題:

1. (步驟4): 沒有建立 c:\squid\etc\squid.conf : 需要自行產生, 可以參考 c:\squid\etc\squid.conf.default .

2. (步驟3): 沒有建立 c:\squid\etc\mime.conf : 需要自行產生, 可以參考 

c:\squid\etc\mime.conf.default .

3. (步驟5: 2861 行): 由於 Squid 啟動時會檢查本機的 Domain Name , 但許多用戶使用私用 IP (private IP) 而無法反解, 所以修改這個設定指定為 localhost .

4. (步驟6): 由於 Squid 使用的目錄有特殊結構, 所以自行建立並不符合 Squid 要求, 需要用 squid -z 建立.

5. (步驟5: 2553 行): 由於 Squid for Windows 預設是不允許所有連線, 所以至少要允許本機連線, 這行必須放在 http_access deny all 之前.

#vi /usr/local/etc/squid/squid.conf                   //修改 squid 設定檔,內容如下

 http_port 3128                                        //接受 HTTP 要求時使用的 Port

 maximum_object_size 5120 KB                           //設定 Cache 網頁資料最大值 (超過 5MB 就不 Cache)

 acl QUERY urlpath_regex cgi-bin \? \.php \.asp \.cgi  //設定針對 CGI、PHP、ASP 檔案不作 Cache 

 no_cache deny QUERY                                   //設定定義名稱為 QUERY 的項目不作 Cache 

 cache_mem 32 MB                                       //設定存放在 RAM 裡面的 Cache 大小

 cache_dir ufs /usr/local/squid/cache 2048 16 256      //設定 Cache 在 HDD 裡面的大小 (最多使用 2GB、第一層目錄 16MB、第二層 256MB)

 cache_log /usr/local/squid/logs/cache.log             //記錄 Squid 的執行狀況 

 cache_access_log /usr/local/squid/logs/access.log     //記錄 Squid Client 的 HTTP 及 IGP Request

 cache_store_log /usr/local/squid/logs/store.log       //記錄 Squid Cache 哪些網頁資料

 acl all src 0.0.0.0/0.0.0.0                           //Access Control List Source IP 0.0.0.0 Name all

 acl localhost src 127.0.0.1/255.255.255.255           //Source IP 127.0.0.1 Name localhost

 acl lanuser src 192.168.1.0/24                        //Source IP Range 192.168.1.0 Name lanuser

 http_access allow localhost lanuser                   //允許定義名稱 Localhost 及 LanUser 能使用 Squid 服務

 http_access deny all                                  //禁止其它 IP 使用 squid 服務

發現有時候此服務會當掉,以下面的批次檔 net-restart-squid.bat 設定固定每天深夜重啟 squid 服務:

@Echo On

net stop squid

net start squid

EXIT

參考: