Squid詳解

由于最近要對公司網(wǎng)絡進行優(yōu)化,經(jīng)過研究使用squid對網(wǎng)絡進行正向代理來增加速度.

squid下載地址

一、squid命令

平時常用的squid的常用操作有八個(該版本也是網(wǎng)上來回轉(zhuǎn)載較多的):

1、初始化squid.conf 里配置的cache目錄

/App/squid/sbin/squid-z//初始化緩存空間

如是想觀察整個過程,請增加-X參數(shù),即:squid -zX 。如果有錯誤提示,請檢查你的 cache目錄的權限。

2、對squid.conf排錯,即驗證squid.conf的語法和配置。

/App/squid/sbin/squid-k parse

如果squid.conf 有語法或配置錯誤,這里會返回提示。如果沒有返回,如果沒有返回則啟動成功

3、在前臺啟動squid,并輸出啟動過程。

/App/squid/sbin/squid-N-d1

如果有到 ready to server reques,恭喜,啟動成功。然后 ctrl + c,停止squid,并以后臺運行的方式啟動它。

4、啟動squid在后臺運行。

/App/squid/sbin/squid-s

啟動squid,并將日志記錄到syslog進程。

5、停止 squid

/App/squid/sbin/squid-k shutdown

最安全的停止squid的方法,另外還有 -k interrupt 與-k kill命令也用于關閉squid,其之間的區(qū)別會在squid的參數(shù)中講到。

6、重引導修改過的 squid.conf

/App/squid/sbin/squid-k reconfigure//載入新的配置文件

這個估計用的時候比較多,當你發(fā)現(xiàn)你的配置有不盡你意的時候,可以隨時修改squid.conf,然后別忘記對你的 squid.conf排錯,然后再執(zhí)行此指令,即可讓squid重新按照你的 squid.conf 來運行。

7、輪循日志

/App/squid/sbin/squid-k rotate

每次執(zhí)行squid -k rotate時,Squid輪循下列文件:cache.log, access.log, store.log, useragent.log (假如已激活), 以及referer.log (假如已激活)。

同時,Squid也會創(chuàng)建最新版本的swap.state文件。然而請注意,swap.state不會以數(shù)字擴展形式來輪轉(zhuǎn)。

另外,要特別提示一下swap.state文件。當squid應用運行了一段時間以后,cache_dir對應的swap.state文件就會變得越來越大,里面的無效接口數(shù)據(jù)越來越多,這可能在一定程度上影響squid的響應時間,此時我們可以使用rotate命令來使squid清理swap.state里面的無效數(shù)據(jù),減少swap.state的大小。

8、把squid添加到系統(tǒng)啟動項

編輯 /etc/rc.d/rc.local?添加如下行:

/App/squid/sbin/squid-sD

9、squid_start腳本

/usr/local/squid/sbin/squid-sD && squid -sD

10、自制啟動腳本

#!/bin/bash

case $1 in

start)

/usr/local/squid/sbin/squid -s

;;

stop)

/usr/local/squid/sbin/squid -k shutdown

;;

easc

11、計劃任務運行輪訓日志

squid -k rotate//日志輪訓

0 4 * * * * /usr/local/squid/sbin/squid -k rotate .//凌晨4點運行日志輪訓

二、訪問控制

1、ACL元素是squid的訪問控制的基礎。這里告訴你如何指定包括IP、端口、主機名、url匹配變量。每個ACL元素都有個名字在編寫訪問規(guī)則的時候需要引用,基本元素如下:

acl name type value1 value2 value3

acl workstation src 10.0.0./16

2、多數(shù)情況下,ACL元素列舉多個值??梢远鄠€acl使用多個名字,配置是等價

acl http_ports port 80 8000 8080

acl httpd_ports port 80

acl httpd_ports port 8000

acl httpd_ports port 8080

3、IP地址

使用對象:src,dst,myip

squid在ACL里指定ip地址時,可以以子網(wǎng)、地址范圍、域名等形式編寫。

acl foo src 10.0.0.0/24

acl foo src 10.0.0.0/255.255.255.0

acl foo src 10.0.0.1

4、主機名

指定主機名

acl xxx dstwww.cgmb.com.cn

5、匹配域名

指定域名

acl a dstdomain foo.com

acl b dstdomain foo.com

6、正則表達式

適用對象:srcdom_regex, dstdom_regex, url_regex, urlpath_regex, browser, referer_regex, ident_regex, proxy_auth_regex, req_mime_type, rep_mime_type

^字符匹配行或者字符開頭

^http:// . 表達式匹配任意http://開頭

\.jpg$ .? ? 表達式匹配jpg結尾,反斜杠為轉(zhuǎn)意符

實例:acl foo url_regex -i ^http://www? (-i 參數(shù)不區(qū)分大小寫)

7、TCP端口號

acl foo port 123

acl foo port 1024-5000

三、ACL類型

1.src

ip地址在訪問控制元素普遍使用,大部分站點使用ipl來做訪問限制,src類型指定客戶端ip源,也就是說,當src出現(xiàn)在acl控制列表里面時,squid將它與發(fā)布的請求ip做對比

單子網(wǎng):acl mynetwork src 192.168.0.0/24

多子網(wǎng):acl mynetwork src 192.68.0.1/24 10.0.0.0/24

2.dst

原始服務器地址

acl adserver dst 1.2.3.4/24

3.myip

myip指squid本身ip地址

acl admin myip 1.1.1.1

4.myport

squid加速器配置

acl accport myport 80

acl proxyport myport 3128

5.method請求類型

method acl 指請求http請求方法。GET、POST

acl purge method purge

acl localhost src 127.0.0.1

http_access allow purge localhost

http_access deny purge

6.proto

協(xié)議類型

acl FTP proto FTP

7.maxconn

每個用戶最大連接數(shù)

acl overconn maxconn 4

http_access deny overconn

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容