經(jīng)過(guò)一年來(lái)的觀察,發(fā)現(xiàn)許多站長(zhǎng)對(duì)于CloudFlare的設(shè)計(jì)其實(shí)并不了解,錯(cuò)誤的設(shè)定CloudFlare常常也會(huì)引來(lái)網(wǎng)站便緩慢的問(wèn)題。再次澄清,CloudFlare預(yù)設(shè)其實(shí)沒(méi)有針對(duì)網(wǎng)頁(yè)進(jìn)行快取,訪客所有訪問(wèn)其實(shí)只是經(jīng)由CloudFlare一五一十的向原始主機(jī)請(qǐng)求資料,這樣的一來(lái)一往就會(huì)拉長(zhǎng)訪客網(wǎng)頁(yè)載入的速度,也沒(méi)節(jié)省到主機(jī)多少流量(有時(shí)反而變得更花資源)。
改善問(wèn)題的方式包括,停用Always Online、填寫Page Rules快取規(guī)則。
請(qǐng)留意下圖CloudFlare控制臺(tái)以紅線畫的三個(gè)部分,包括Speed、Caching、Page Rules
首先是Speed,其中Auto Minify的工具請(qǐng)全部啟用,讓經(jīng)由CloudFlare傳輸?shù)木W(wǎng)頁(yè)資源都得到適當(dāng)?shù)膲嚎s。
而下方的Rocket Loader由于對(duì)造成Google AdSense不當(dāng)修改,故使用Google AdSense的網(wǎng)站請(qǐng)務(wù)必選擇Off,未受影響的網(wǎng)站則建議選擇Automatic即可
再來(lái)切換到Caching標(biāo)簽,Caching Level(快取等級(jí))請(qǐng)選擇Standard(標(biāo)準(zhǔn))
Browser Cache Expiration(瀏覽器快取)建議設(shè)定在1year,而Always Online請(qǐng)務(wù)必”關(guān)閉”,這部份似乎有點(diǎn)爭(zhēng)議,原先Always Online的概念是網(wǎng)站離線時(shí),透過(guò)CloudFlare提供快取頁(yè)面維持訪客的正常瀏覽,可是對(duì)于免費(fèi)版來(lái)說(shuō),要求的快取時(shí)間高達(dá)一周才會(huì)有效果,但這段時(shí)間CloudFlare會(huì)頻繁的向源站點(diǎn)請(qǐng)求網(wǎng)頁(yè)存取,等于要用主機(jī)資源的消耗換取常常不能用的Always Online完全不值得,不如關(guān)閉這項(xiàng)功能節(jié)省資源。
再切換到具有關(guān)鍵角色的Page Rules標(biāo)簽,對(duì)于網(wǎng)址規(guī)則設(shè)定有兩種,
一種是全站點(diǎn)交由CloudFlare傳輸給訪客,此時(shí)網(wǎng)址規(guī)則包括:以www.test.com為范例
站點(diǎn)原網(wǎng)址/wp-login.php* [例如,www.test.com/wp-login.php*]:
Custom caching請(qǐng)選擇 Bypass cache
站點(diǎn)原網(wǎng)址/wp-admin/* [例如,www.test.com/wp-admin/*]:
Custom caching請(qǐng)選擇 Bypass cache
站點(diǎn)原網(wǎng)址/* [例如,test.com/*]:
Custom caching請(qǐng)選擇 Aggressive caching
第二種是主站點(diǎn)由源主機(jī)傳輸,但大部分靜態(tài)資源由CloudFlare傳輸給訪客,優(yōu)勢(shì)在于訪客等于同時(shí)有兩個(gè)站點(diǎn)進(jìn)行傳輸,且搜尋引擎爬蟲所訪問(wèn)的站點(diǎn)IP也不會(huì)常常改變,會(huì)于塞車時(shí)切換CDN狀態(tài)也很簡(jiǎn)單,此時(shí)網(wǎng)址規(guī)則只要:
站點(diǎn)CDN網(wǎng)址/* [例如,cdf.test.com/*]:
Custom caching請(qǐng)選擇 Cache everything
對(duì)于如何生成相同內(nèi)容的子網(wǎng)域鏡像,可透過(guò)指向相同IP、指向源站點(diǎn)CNAME來(lái)達(dá)到兩組網(wǎng)址顯示相容內(nèi)容的效果
經(jīng)由CDN連接的網(wǎng)址置入快取外掛的CDN功能,并清理外掛快取即可生效。