歡迎您光臨本站 註冊首頁

squid3 緩存 gzip 奇怪的癥狀 我無法解釋 ..

←手機掃碼閱讀     火星人 @ 2014-03-04 , reply:0

squid3 緩存 gzip 奇怪的癥狀 我無法解釋 ..

192.168.0.97 web環境
apache 沒有虛擬機 支持 gzip

<IfModule mod_headers.c>
<IfModule mod_deflate.c>
    <Location "/">
        SetOutputFilter DEFLATE
        BrowserMatch ^Mozilla/4 gzip-only-text/html
        BrowserMatch ^Mozilla/4\.0 no-gzip
        BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
        SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary
        Header append Vary User-Agent env=!dont-vary
    </Location>
192.168.0.193 squid緩存

版本 最高的穩定版本
官方 香港的節點上下載的 地址
ftp://ftp.cuhk.edu.hk/pub/packages/info-systems/www/squid/squid-3/STABLE/

wget ftp://ftp.cuhk.edu.hk/pub/packag ... -3.0.STABLE9.tar.gz

解壓
tar -zxf squid-3.0.STABLE9.tar.gz
創建用戶
useradd squid
groupadd squid

編譯參數
./configure \
--prefix=/usr/local/squid \
--enable-async-io=100 \
--enable-ssl \
--enable-x-accelerator-vary \
--enable-storeio=aufs,ufs,diskd,null \
--enable-removal-policies="heap,lru" \
--enable-icmp \
--enable-delay-pools \
--enable-useragent-log \
--enable-referer-log \
--enable-kill-parent-hack \
--enable-arp-acl \        
--enable-err-languages="Simplify_Chinese English" \
--enable-dlmalloc \
--enable-gnuregex \
--enable-carp \
--disable-poll \
--disable-wccp \
--disable-wccpv2 \
--disable-ident-lookups \
--disable-internal-dns \
--disable-mempools \
--with-pthreads \
--with-large-files \
--with-filedescriptors=65536 \

make
make installsquid.conf參數#accel listen port
http_port 80 accel vhost vport
#accel domain
cache_peer 192.168.0.97 parent 80 0 no-query originserver no-digest name=www
cache_peer_domain 192.168.0.97


#acl
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl SSL_ports port 443 563
acl Safe_ports port 80       # http
acl Safe_ports port 8080
acl LanSrc src 192.168.0.0/24
acl LanDst dst 192.168.0.0/24
acl LanDstDM dstdomain 192.168.0.97

acl CONNECT method CONNECT
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow LanSrc
http_access allow LanDst
http_access allow LanDstDM
http_access deny   all

#base
visible_hostname 192.168.0.97
cache_mgr kuliusheng@Yahoo.com.cn
cache_effective_user squid
cache_effective_group squid


error_directory /usr/local/squid3/share/errors/Simplify_Chinese
icon_directory /usr/local/squid3/share/icons
mime_table /usr/local/squid3/etc/mime.conf


cache_replacement_policy lru
#cache_dir
cache_dir aufs /data/cache1 32768 64 64
cache_dir aufs /data/cache2 32768 64 64
cache_mem 2048 MB
max_open_disk_fds 0
#maximum_object_size 512 KB
#maximum_object_size_in_memory 256 KB
maximum_object_size 20 MB
maximum_object_size_in_memory 8 MB


#keepalived
client_persistent_connections off
server_persistent_connections on
#persistent_request_timeout 60 seconds

#memory_pools on
#memory_pools_limit 64 MB

forwarded_for on
log_icp_queries off


via off
httpd_suppress_version_string off


ie_refresh off
tcp_recv_bufsize 32 KB

#acl webservices rep_header Server -i ^linuxtoneWS ^Apache ^nginx
#broken_vary_encoding allow webservices

#hidden the squid header
#reply_header_access Server deny all
#reply_header_access X-Cache deny all
#reply_header_access Warning deny all
#reply_header_access Expires deny all
#reply_header_access Cache-Control deny all
#reply_header_access age deny all
#reply_header_access All deny all

ipcache_size 1024
ipcache_low 90
ipcache_high 95

memory_replacement_policy lru

hosts_file /etc/hosts
request_header_max_size 128 KB


#deny cache
hierarchy_stoplist cgi-bin ? \.php
acl QUERY urlpath_regex cgi-bin\? \.php
acl DIRECT url_regex -i ^http:\/\/192.168.0.97\/$
acl DIRECT url_regex -i ^http:\/\/192.168.0.193\/$
acl DIRECT url_regex -i ^http:\/\/www\.linuxtone\.com\/$
acl DIRECT url_regex -i ^http:\/\/photo\.linuxtone\.com\/.*$
acl DIRECT url_regex -i ^http:\/\/www\.linuxtone\.com\/index\.html$
cache deny QUERY
cache deny DIRECT


#request_body_max_size 0 KB


refresh_pattern ^ftp:           60      20%     10080
refresh_pattern ^gopher:        60      0%      1440
refresh_pattern .               0       20%     1440
refresh_pattern -i \.css[        DISCUZ_CODE_4        ]nbsp;      360    50%     2880    reload-into-ims
refresh_pattern -i \.js[        DISCUZ_CODE_4        ]nbsp;       1440    50%     2880    reload-into-ims
refresh_pattern -i \.html[        DISCUZ_CODE_4        ]nbsp;       720   50%     1440    reload-into-ims
refresh_pattern -i \.jpg[        DISCUZ_CODE_4        ]nbsp;      1440    90%     2880    ignore-reload
refresh_pattern -i \.gif[        DISCUZ_CODE_4        ]nbsp;      1440    90%     2880    ignore-reload
refresh_pattern -i \.swf[        DISCUZ_CODE_4        ]nbsp;      1440    90%     2880    ignore-reload
refresh_pattern -i \.jpg[        DISCUZ_CODE_4        ]nbsp;      1440      50%     2880    ignore-reload
refresh_pattern -i \.png[        DISCUZ_CODE_4        ]nbsp;      1440      50%     2880      ignore-reload  
refresh_pattern -i \.bmp[        DISCUZ_CODE_4        ]nbsp;      1440      50%     2880      ignore-reload


refresh_pattern -i \.doc$ 1440    50%     2880      ignore-reload
refresh_pattern -i \.ppt$ 1440    50%     2880      ignore-reload
refresh_pattern -i \.xls$ 1440    50%     2880      ignore-reload
refresh_pattern -i \.pdf$ 1440    50%     2880      ignore-reload
refresh_pattern -i \.rar[        DISCUZ_CODE_4        ]nbsp;      1440    50%     2880      ignore-reload
refresh_pattern -i \.zip$ 1440    50%     2880      ignore-reload
refresh_pattern -i \.txt$ 1440    50%     2880      ignore-reload


quick_abort_min 20 KB
quick_abort_max 20 KB
quick_abort_pct 95

connect_timeout 1 minute
negative_ttl 0 minutes
read_timeout 30 seconds
pconn_timeout 120 seconds
shutdown_lifetime 5 seconds
strip_query_terms off

#snmp
#snmp_port 3401
#acl snmppublic snmp_orgmunity snsimg
#snmp_access allow snmppublic localhost
#snmp_access deny all

icp_port 0

# logfile
emulate_httpd_log on
#logformat combined %{X-Forwarded-For}>h %ui %un [%tl] "%rm %ru HTTP/%rv" %Hs %<st "%{Referer}>h" "%{User-Agent}>h" %Ss:%Sh
#access_log none
#access_log /data/logs/access.log combined
logformat squid  %ts.%03tu %6tr %>a %Ss/%03Hs %<st %rm %ru %un %Sh/%<A %mt
access_log /data/logs/access.log squid
#cache_store_log /var/log/squid/store.log
cache_store_log /dev/null
cache_log /data/logs/cache.log
logfile_rotate 12


# MISCELLANEOUS
store_objects_per_bucket 15
client_db offmkdir /data/cache1
mkdir /data/cache2
chown -R squid.squid /data

/usr/local/squid/sbin/squid -z 常見緩存文件
/usr/local/squid/sbin/squid -s 啟動

現在開始測試
使用瀏覽器訪問

192.168.0.193/js.js
第一次 200 HIT
第二次 304 HIT
第三次 無網路連接 已經到本地緩存了

192.168.0.193/discuz/upload/include/js/common.js
第一次 200 HIT
第二次 200 MISS
第三次 200 MISS

我進入 網站目錄 將 common.js 複製一個出來 更改名字 已經許可權問題在次訪問

192.168.0.193/discuz/upload/include/js/common2.js
第一次 200 HIT
第二次 304 HIT
第三次 無網路連接 已經到本地緩存了

可是過一段時間之後 就恢復之前的狀態了
192.168.0.193/discuz/upload/include/js/common2.js
第一次 200 HIT
第二次 200 MISS
第三次 200 MISS

但是過了2天 這個依然正常
192.168.0.193/js.js
第一次 200 HIT
第二次 304 HIT
第三次 無網路連接 已經到本地緩存了

我沒有虛擬主機  這個問題讓我精神崩潰 太傷心了 都不知道怎麼找原因去了 ..
《解決方案》

高手們  有人遇到過這樣的問題嗎 ?  給一個建議啊  :em29:
《解決方案》

關注一下~
《解決方案》

此問題已解決

原因

我一直都是用  火狐3.0 的  firebug 測試的 相比大家都這道這個 排名火狐排名第一的插件吧 ...

我朋友說火狐處理 http1.1 和其他瀏覽器不一樣 所以失敗

我使用 IE8 測試 都是 http1.1標準 IE下測試命中是 100%

squid搭建用了5天 3天就在解決這個問題  哎 不該啊 .... :em16:

[火星人 ] squid3 緩存 gzip 奇怪的癥狀 我無法解釋 ..已經有506次圍觀

http://coctec.com/docs/service/show-post-21976.html