如何保護(hù)Cloudflare的CDN上緩存的資源?如何管理帶有CORS標(biāo)頭的資產(chǎn)?
講講跨域資源共享(CORS)如何保護(hù) Cloudflare 的 CDN 上緩存的資源,以及如何管理帶有 CORS 標(biāo)頭的資產(chǎn)。
跨域請(qǐng)求即請(qǐng)求源站外部的網(wǎng)站資源。例如,a.example.com嘗試提供來(lái)自b.secondexample.com的資源。CORS會(huì)指示瀏覽器確認(rèn)a.example.com是否允許跨域請(qǐng)求(例如來(lái)自b.secondexample.com的圖像或JavaScript資源)。瀏覽器不會(huì)加載CORS不允許的資源。
Cloudflare通過(guò)以下方式支持CORS:
基于Host標(biāo)頭、Origin標(biāo)頭、URL路徑和查詢識(shí)別緩存的資產(chǎn)。這允許不同的資源使用同樣的Host標(biāo)頭,但不同的Origin標(biāo)頭。
將Access-Control-Allow-Origin標(biāo)頭從源站傳遞到瀏覽器。
通過(guò)Access-Control-Allow-Origin標(biāo)頭,服務(wù)器可以指定與外部域名分享其資源的規(guī)則。當(dāng)服務(wù)器收到資源訪問(wèn)請(qǐng)求時(shí),它會(huì)響應(yīng)并提供一個(gè)Access-Control-Allow-Origin標(biāo)頭值。Access-Control-Allow-Origin標(biāo)頭常應(yīng)用于可緩存的內(nèi)容。根據(jù)請(qǐng)求中發(fā)送的Origin標(biāo)頭,Web服務(wù)器可能會(huì)以不同的Access-Control-*標(biāo)頭作為響應(yīng)。
添加或更改CORS標(biāo)頭
如果您在源Web服務(wù)器上添加或更改CORS配置,按URL清除Cloudflare緩存時(shí),不會(huì)更新CORS標(biāo)頭。您可以通過(guò)以下某種選項(xiàng),強(qiáng)制Cloudflare檢索新的CORS標(biāo)頭:
更改文件名或URL,以繞過(guò)緩存并指示Cloudflare檢索最新的CORS標(biāo)頭。
使用單文件清除API指定相應(yīng)的CORS標(biāo)頭和清除請(qǐng)求。
更新資源在源Web服務(wù)器上的最后修改時(shí)間。然后,完成完全清除,以便檢索資產(chǎn)的最新版本,包括更新后的CORS標(biāo)頭。