CentOS Squid 安装配置
安裝
?
./configure --disable-internal-dns
make
make install
修改squid.conf加以下兩句
dns_children 20
redirect_children 20
再啟動squid,哇........,這才是我要的squid!!!!!!!!!!!!!
ps一下發現多了20個dnsserver進程。再分析:可能是此參數把squid的逐個查詢DNS改為了并行查詢。現已運行數天,尚未發現問題。
yum install squid
修改配置文件 /etc/squid/squid.conf
(如果該文件配置壞掉了,有 squid.conf.default 可以備用,兩個文件在剛安裝后是一模一樣的)
# squid 端口,默認是3128
http_port 3128
# 指定硬盤緩沖區的大小
# ufs: 緩存類型
# /var/spool/squid:緩存目錄
# 300:緩存大小(Mbytes)
# 允許在“/tmp”下創建的第一級子目錄數為16,每個第一級子目錄下可以創建的第二級子目錄數量為256
cache_dir ufs /var/spool/squid 300 16 256
# 自定義某個IP或者某網段,使用 http_access 選項允許該列表
acl our_networks src 11.11.11.11/255.255.255.255
acl our_networks src 12.12.12.12/29
http_access allow our_networks
# 服務器的主機名,可隨便定義
visible_hostname 221_170
# 關閉此項將在訪問網站時顯示的IP是unknown,如果打開則顯示的是你client的內網IP
forwarded_for off
# 防止知道客戶的內部 ip
header_access Via deny all
# 防止知道代理服務器的服務器名以及端口
header_access X-Forwarded-For deny all
啟動 squid
service squid start
squid 的 log:/var/log/squid/
access.log cache.log squid.out store.log
給出一些 header,可以屏蔽它們
| Accept | HTTP_ACCEPT |
| Accept-Charset | HTTP_ACCEPT-CHARSET |
| Accept-Encoding | HTTP_ACCEPT-ENCODING |
| Accept-Language | HTTP_ACCEPT-LANGUAGE |
| Accept-Ranges | HTTP_ACCEPT-RANGES |
| Age | HTTP_AGE |
| Allow | HTTP_ALLOW |
| Authorization | HTTP_AUTHORIZATION |
| Cache-Control | HTTP_CACHE-CONTROL |
| Connection | HTTP_CONNECTION |
| Content-Base | HTTP_CONTENT-BASE |
| Content-Disposition | HTTP_CONTENT-DISPOSITION |
| Content-Encoding | HTTP_CONTENT-ENCODING |
| Content-Language | HTTP_CONTENT-LANGUAGE |
| Content-Length | HTTP_CONTENT-LENGTH |
| Content-Location | HTTP_CONTENT-LOCATION |
| Content-MD5 | HTTP_CONTENT-MD5 |
| Content-Range | HTTP_CONTENT-RANGE |
| Content-Type | HTTP_CONTENT-TYPE |
| Cookie | HTTP_COOKIE |
| Date | HTTP_DATE |
| ETag | HTTP_ETAG |
| Expires | HTTP_EXPIRES |
| From | HTTP_FROM |
| Host | HTTP_HOST |
| If-Match | HTTP_IF-MATCH |
| If-Modified-Since | HTTP_IF-MODIFIED-SINCE |
| If-None-Match | HTTP_IF-NONE-MATCH |
| If-Range | HTTP_IF-RANGE |
| Last-Modified | HTTP_LAST-MODIFIED |
| Link | HTTP_LINK |
| Location | HTTP_LOCATION |
| Max-Forwards | HTTP_MAX-FORWARDS |
| Mime-Version | HTTP_MIME-VERSION |
| Pragma | HTTP_PRAGMA |
| Proxy-Authenticate | HTTP_PROXY-AUTHENTICATE |
| Proxy-Authentication-Info | HTTP_PROXY-AUTHENTICATION-INFO |
| Proxy-Authorization | HTTP_PROXY-AUTHORIZATION |
| Proxy-Connection | HTTP_PROXY-CONNECTION |
| Public | HTTP_PUBLIC |
| Range | HTTP_RANGE |
| Referer | HTTP_REFERER |
| Request-Range | HTTP_REQUEST-RANGE |
| Retry-After | HTTP_RETRY-AFTER |
| Server | HTTP_SERVER |
| Set-Cookie | HTTP_SET-COOKIE |
| Title | HTTP_TITLE |
| Transfer-Encoding | HTTP_TRANSFER-ENCODING |
| Upgrade | HTTP_UPGRADE |
| User-Agent | HTTP_USER-AGENT |
| Vary | HTTP_VARY |
| Via | HTTP_VIA |
| Warning | HTTP_WARNING |
| WWW-Authenticate | HTTP_WWW-AUTHENTICATE |
| Authentication-Info | HTTP_AUTHENTICATION-INFO |
| X-Cache | HTTP_X-CACHE |
| X-Cache-Lookup | HTTP_X-CACHE-LOOKUP |
| X-Forwarded-For | HTTP_X-FORWARDED-FOR |
| X-Request-URI | HTTP_X-REQUEST-URI |
| X-Squid-Error | HTTP_X-SQUID-ERROR |
| Negotiate | HTTP_NEGOTIATE |
| X-Accelerator-Vary | HTTP_X-ACCELERATOR-VARY |
Squid 用戶名密碼認證
利用 apache 攜帶的工具 htpasswd 生成密碼文件并添加相應的用戶信息,可能需要寫全 htpasswd 的路徑(如果這個服務器上有若干網站,選擇使用80端口的那個目錄下的htpasswd)
/usr/bin/htpasswd -c /etc/squid/passwd testuser
根據提示輸入密碼:1234
成功后將會在 /etc/squid/passwd 中寫入:
testuser:cuUEnEwyMTcGY
第一列表明用戶名,第二列表明密碼
修改 squid 配置文件:
# 定義了認證方式為 basic,認證程序的路徑,認證程度需要讀取的帳戶文件(注意 ncsa_auth 和 上個步驟建立的 passwd 的路徑)
auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/passwd
# 自定義一條名為 auth_user 的ACL,ACL類型為 proxy_auth 通過外部程序進行用戶認證方式,列表值為REQUIRED,說明接受所有合法用戶的訪問,然后使用 http_access 選項允許該列表
acl auth_user proxy_auth REQUIRED
http_access allow auth_user
體驗:
- 在沒有開啟用戶名密碼認證時,能成功地只允許某些 IP 訪問代理服務器,并且屏蔽掉客戶端的信息。
- 當開啟用戶名密碼認證時,只要驗證成功,無論 IP 是什么,都能夠使用代理服務器。
驗證方法:
瀏覽器菜單 - 工具 - Internet選項 - 連接 - 局域網設置 - 勾選“為LAN使用代理服務器”,輸入代理服務器的IP和端口
然后看是否能正常瀏覽網頁,如果是通過用戶名密碼驗證的,則會跳出驗證框,如果不在IP允許列表里,則顯示的頁面是禁止訪問。
轉載于:https://blog.51cto.com/1841cisco/1166275
總結
以上是生活随笔為你收集整理的CentOS Squid 安装配置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: menucool
- 下一篇: 处理程序“PageHandlerFact