亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 網管 > 服務器 > 正文

squid 強制緩存動態頁面

2020-05-27 12:55:15
字體:
來源:轉載
供稿:網友

   其實我本不想寫這個標題,我的本意是緩存yupoo api的查詢數據,這個過程中找到了參考方法(Caching Google Earth with Squid)。呵呵,所以偶也來一回標題黨。

  這篇參考流傳非常廣,Digg上也被提過,我也不知道原出處是哪里了。

  可是。。。。你按照它的指示設置,它并不能正確工作!!

  話說回來,先說說我的需求。

  最近yupoo的訪問速度很慢,我有一堆api請求經常無法完成,猜測要么對方限制了同一ip的連接數,要么是yupoo又遇到了新一輪的流量瓶頸。跟Yupoo的zola聯系后,確認是他們的負荷太高引起的,并沒有限制連接數。所以我要想辦法在我這邊做一些緩存了。

  因為我這邊本身就是用squid代理來解決Ajax中調用API的跨域問題的,所以自然是目標瞄準了squid的配置文件。

  yupoo api的請求地址是 www.yupoo.com/api/rest/?method=xx&xxxxxxx...

  大家都知道squid會自動緩存靜態文件,可對于這種動態網頁怎么讓它也緩存起來呢,所以在google上找啊找,找到上面提得那片緩存Google Earth的博客文章。

  他的方法是:

  acl QUERY urlpath_regex cgi-bin ? intranet

  acl forcecache url_regex -i kh.google keyhole.com

  no_cache allow forcecache

  no_cache deny QUERY

  # ----

  refresh_pattern -i kh.google 1440 20% 10080 override-expire override-lastmod reload-into-ims ignore-reload

  refresh_pattern -i keyhole.com 1440 20% 10080 override-expire override-lastmod reload-into-ims ignore-reload

  原理就是用 no_cache allow 和 refresh_pattern 來設定一些緩存規則,將google earth的請求強行緩存起來。

  此文一出,自然早有人去驗證,可是沒人成功,原作者也音訊全無 ... squid的郵件列表里也提到。 ( 看標題進來的朋友,不要急,繼續往下讀,不會讓你空手而回的 )

  我也沒在意,估計人家功力問題 。先試著用改寫一下解決yupoo api的緩存問題。

  acl QUERY urlpath_regex cgi-bin ?

  acl forcecache url_regex -i yupoo.com

  no_cache allow forcecache

  no_cache deny QUERY

  refresh_pattern -i yupoo.com 1440 50% 10080 override-expire override-lastmod reload-into-ims ignore-reload

  嘿,果然nnd毫無用處,訪問記錄里還是 一坨坨 TCP_MISS

  于是翻來覆去看文檔,找資料,發現是squid的bug惹得禍,不過早已經修正(嚴格來說是功能擴展補丁)。

  我的squid是2.6.13,翻了一下源代碼,確實已經打好補丁了。

  解決這個問題需要refresh_pattern的幾個擴展參數(ignore-no-cache ignore-private),這幾個參數在squid的文檔和配置例子中均沒有提到,看來squid還不夠與時俱進。

  下面講一下問題所在。

  先看看yupoo api返回的HTTP頭部信息(cache 相關部分)

  Cache-Control: no-cache, must-revalidate

  Pragma: no-cache

  這兩行是控制瀏覽器的緩存行為的,指示瀏覽器不得緩存。squid也是遵循RFC的,正常情況下自然不會去緩存這些頁面。override-expire override-lastmod reload-into-ims ignore-reload 統統不能對付它。

  而那個補丁正是對付這兩個Cache-Control:no-cache 和 Pragma: no-cache的。

  因此把 refresh_pattern那句要改寫成

  refresh_pattern -i yupoo.com 1440 50% 10080 override-expire override-lastmod reload-into-ims ignore-reload ignore-no-cache ignore-private

  這樣就大功告成了, squid -k reconfigure 看看 access.log ,這回里面終于出現

  TCP_HIT/200 TCP_MEM_HIT/200 了,說明緩存規則確實起作用了,那個激動啊 555~~~~

  ====================

  補充:

  后來我看了一下google earth 服務器 hk1.google.com的HTTP頭部,只有

  Expires: Wed, 02 Jul 2008 20:56:20 GMT

  Last-Modified: Fri, 17 Dec 2004 04:58:08 GMT

  ,這么看來照理不需ignore-no-cache ignore-private也能工作,可能是作者這里寫錯了

  kh.google 應該是 kh..google才對。

  最后總結一下,緩存Google Earth/Map的正確的配置應該是

  acl QUERY urlpath_regex cgi-bin ? intranet

  acl forcecache url_regex -i kh..google mt..google mapgoogle.mapabc keyhole.com

  no_cache allow forcecache

  no_cache deny QUERY

  # ----

  refresh_pattern -i kh..google 1440 20% 10080 override-expire override-lastmod reload-into-ims ignore-reload ignore-no-cache ignore-private

  refresh_pattern -i mt..google 1440 20% 10080 override-expire override-lastmod reload-into-ims ignore-reload ignore-no-cache ignore-private

  refresh_pattern -i mapgoogle.mapabc 1440 20% 10080 override-expire override-lastmod reload-into-ims ignore-reload ignore-no-cache ignore-private

  refresh_pattern -i keyhole.com 1440 20% 10080 override-expire override-lastmod reload-into-ims ignore-reload ignore-no-cache ignore-private

  注:

  khX.google.com 是google earth的圖片服務器

  mtX.google.com 是google map 的圖片服務器

  mapgoogle.mapabc.com 是google ditu的圖片服務器

  http://nukq.malmam.com/archives/16

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国内揄拍国内精品少妇国语| 91视频8mav| 国产一区二区欧美日韩| 羞羞色国产精品| 丝袜情趣国产精品| 国产美女精品视频免费观看| 国产精品视频久久久久| 欧美理论电影网| 17婷婷久久www| 国产精品88a∨| www.日韩.com| 国产精品无码专区在线观看| 国产成人久久精品| 91美女高潮出水| 91在线观看欧美日韩| 中文字幕亚洲综合久久| 亚洲iv一区二区三区| 亚洲欧洲在线视频| 日韩在线观看你懂的| 日韩av网站电影| 国产精品电影久久久久电影网| 97超级碰在线看视频免费在线看| 久久久久北条麻妃免费看| 久久久精品亚洲| 日韩高清免费观看| 久久成人一区二区| 久久电影一区二区| 国产一区二区三区日韩欧美| 欧洲永久精品大片ww免费漫画| 69精品小视频| 亚洲偷欧美偷国内偷| 91成人国产在线观看| 国产自摸综合网| 欧美激情一级欧美精品| 一本一本久久a久久精品牛牛影视| 欧美极品少妇xxxxx| 日韩久久免费电影| 国产精品极品美女粉嫩高清在线| 久久久久久尹人网香蕉| 欧美激情2020午夜免费观看| 日韩视频在线一区| 97香蕉久久超级碰碰高清版| 欧美成人精品xxx| 国产精品日韩精品| 欧美人与性动交a欧美精品| 亚洲自拍偷拍在线| 日韩av影片在线观看| 亚洲福利视频网| 亚洲伊人一本大道中文字幕| 欧美日韩黄色大片| 8x拔播拔播x8国产精品| 精品一区二区三区三区| 91亚洲精品一区| 久久高清视频免费| 亚洲天堂网站在线观看视频| 亚洲免费视频观看| 久久久久久久久网站| 精品亚洲精品福利线在观看| 91欧美精品成人综合在线观看| 色偷偷av一区二区三区乱| 中文字幕免费国产精品| 亚洲欧美日韩另类| 亚洲欧美综合另类中字| 精品色蜜蜜精品视频在线观看| 国语自产精品视频在线看| 亚洲激情自拍图| 欧美成aaa人片免费看| 日av在线播放中文不卡| 国产午夜精品理论片a级探花| 欧美激情久久久久久| 中国人与牲禽动交精品| 国模吧一区二区| 欧美成人亚洲成人日韩成人| 亚洲国产成人在线视频| xx视频.9999.com| 亚洲毛片一区二区| 国产日韩精品入口| 亚洲精品理论电影| 日韩精品在线私人| 亚洲欧美资源在线| 欧美综合激情网| 久久久精品在线观看| 亚洲天堂影视av| 这里只有精品在线观看| 亚洲尤物视频网| 欧美最顶级丰满的aⅴ艳星| 亚洲男人7777| 欧美精品在线极品| 性色av一区二区三区免费| 精品成人69xx.xyz| 中文字幕亚洲欧美一区二区三区| 国产精品国产三级国产aⅴ浪潮| 欧美成人三级视频网站| 国产精品一区二区三| 国产精品久久久久久婷婷天堂| 国产激情视频一区| 日韩视频在线一区| 久久成年人视频| 国产精品丝袜高跟| 久久久久久久av| 中文字幕精品久久| 亚洲第一区第二区| 欧美精品电影免费在线观看| 久久久久久久国产精品| 国产精品ⅴa在线观看h| 中文字幕日韩专区| 日韩精品免费一线在线观看| 日韩美女在线观看| 一本一本久久a久久精品综合小说| 亚洲国产精彩中文乱码av在线播放| 亚洲欧美日韩爽爽影院| 综合网日日天干夜夜久久| 91精品国产成人| 亚洲综合视频1区| 操人视频在线观看欧美| 欧美日韩不卡合集视频| 欧美怡春院一区二区三区| 一区二区欧美亚洲| 欧美韩国理论所午夜片917电影| 亚洲精品久久久久| 91丨九色丨国产在线| 欧美极品少妇xxxxⅹ裸体艺术| 日韩av色综合| 中文字幕亚洲激情| 日韩欧亚中文在线| 亚洲国产成人精品久久| 午夜精品理论片| 久久久999精品视频| 色综合久久88| 色偷偷综合社区| 国产欧美日韩中文| 亚洲美腿欧美激情另类| 国产在线精品自拍| 日韩中文字幕免费| 欧美在线视频在线播放完整版免费观看| 91高潮精品免费porn| 亚洲国产小视频在线观看| 国产精品美女主播在线观看纯欲| 日韩av影视在线| 美女扒开尿口让男人操亚洲视频网站| 欧美不卡视频一区发布| 日本午夜精品理论片a级appf发布| 久久精品视频网站| 日本成人在线视频网址| 精品动漫一区二区三区| 欧美激情aaaa| 欧美黑人国产人伦爽爽爽| 国产91精品视频在线观看| 热re99久久精品国产66热| 成人免费淫片aa视频免费| 久久免费国产视频| 欧美最猛性xxxxx(亚洲精品)| 日韩黄色高清视频| 日韩av免费网站| 亚洲mm色国产网站| 中文字幕成人在线| 亚洲字幕一区二区| 中文字幕亚洲精品| 国产精品一二区| 热99在线视频| 欧洲成人午夜免费大片| 欧美孕妇性xx| 欧美激情久久久| 国模私拍一区二区三区|