如何與API服務(wù)一起使用Cloudflare

來源: Cloudflare
作者:Cloudflare
時(shí)間:2021-04-02
17846
Cloudflare 提供了許多安全功能,以幫助抵御攻擊。其中一些功能可通過向請(qǐng)求添加插頁式檢測(cè)或要求從 Web 瀏覽器發(fā)出請(qǐng)求,以限制潛在有害的訪問者訪問您的網(wǎng)站。由于 API 請(qǐng)求 通常不會(huì)使用瀏覽器發(fā)出,因此我們建議您為 API 的 URL 模式創(chuàng)建 Page Rule,以確保這些功能不會(huì)限制對(duì) API 的訪問。

pexels-pixabay-207580.jpg

您希望在不會(huì)阻止或破壞任何合法流量的情況下增強(qiáng)您的API的性能和安全性。使用 Page Rule 配置 Cloudflare 可以確保 API 獲得所有好處,甚至在不使用瀏覽器的情況下也能正常工作。有關(guān)如何創(chuàng)建 Page Rule 的步驟。

為什么要這樣做?

Cloudflare 提供了許多安全功能,以幫助抵御攻擊。其中一些功能可通過向請(qǐng)求添加插頁式檢測(cè)或要求從 Web 瀏覽器發(fā)出請(qǐng)求,以限制潛在有害的訪問者訪問您的網(wǎng)站。

由于 API 請(qǐng)求 通常不會(huì)使用瀏覽器發(fā)出,因此我們建議您為 API 的 URL 模式創(chuàng)建 Page Rule,以確保這些功能不會(huì)限制對(duì) API 的訪問。

請(qǐng)注意,如果 API 的源服務(wù)器和您的網(wǎng)頁服務(wù)器是同一個(gè),則禁用或降低安全功能會(huì)為潛在攻擊者提供攻擊您域名的可能。

匹配模式

第一步是將 URL 設(shè)置為包含對(duì) API 的所有請(qǐng)求。例如,如果您的 API 功能與 Cloudflare v4 API 類似,則所有請(qǐng)求都會(huì)發(fā)送到一個(gè) URL https://api.cloudflare.com/client/v4/ ,因此匹配模式將是 https://api.cloudflare.com/client/v4/*。如果您的 API 使用多個(gè) URL,則可以使用星號(hào)(*)作為通配符,以使模式與多個(gè) URL 匹配。例如,對(duì) Zendesk v2 API 的請(qǐng)求以 https://{subdomain}.zendesk.com/api/v2/ 開頭,其中通配符可用于子域和 /v2/ 之后請(qǐng)求的文件,如:https://*.zendesk.com/api/v2/*。

Page Rule 設(shè)置

第二步是配置 Cloudflare 的 Page Rule 功能,以盡量減少對(duì) API 的影響。

Cache Level:Bypass 由于可以預(yù)期每個(gè)請(qǐng)求和響應(yīng)都不同,因此將 Cache Level 設(shè)置為 Bypass 會(huì)阻止緩存返回給訪問者的任何響應(yīng)。

Always Online:Off Always Online 功能可在源站脫機(jī)時(shí)返回緩存內(nèi)容。針對(duì) API 規(guī)則禁用 Always Online 可確保不會(huì)從 Cloudflare 的緩存提供響應(yīng)。

Web Application Firewall:Off 我們的Web Application Firewall web application firewall(WAF),對(duì)于付費(fèi)用戶都是可用的。對(duì) API 的某些調(diào)用可能會(huì)觸發(fā) WAF 中的規(guī)則,從而導(dǎo)致請(qǐng)求被錯(cuò)誤攔截。我們建議至少在最初啟用 WAF,以查看這些請(qǐng)求是否觸發(fā)了 WAF 規(guī)則。通過以下鏈接訪問 WAF 設(shè)置和log頁面,您可以查看已觸發(fā)的記錄:https://www.cloudflare.com/a/firewall/example.com/waf#firewall-events,請(qǐng)使用您的域名替換 example.com。

如果您發(fā)現(xiàn) WAF 正在捕獲對(duì) API 的請(qǐng)求,您可以在 WAF 設(shè)置頁面上禁用 API 請(qǐng)求觸發(fā)的單個(gè)規(guī)則或多個(gè)規(guī)則,也可以通過在 Page Rule 界面對(duì)于該 API 禁用 WAF。請(qǐng)務(wù)必注意,WAF 設(shè)置中的禁用規(guī)則將應(yīng)用于整個(gè)域,而不僅僅是 API 的 URL。

Security Level:請(qǐng)勿設(shè)置為 IUAM Cloudflare的Securtiy Level Basic Protection Level。在 Cloudflare 設(shè)置或 Page Rule 中設(shè)置“I'm Under Attack”時(shí),每個(gè)訪問者都會(huì)看到一個(gè)插頁式頁面,延遲時(shí)間為 5 秒,通過后才將請(qǐng)求重定向到其目標(biāo)。我們建議將此項(xiàng)設(shè)置為除“I'm Under Attack”以外的任何內(nèi)容,以防止對(duì) API 請(qǐng)求應(yīng)用任何延遲。

Browser Integrity Check:關(guān)閉 Browser Integrity Check 可查找惡意訪問者最常用的 HTTP 頭字段,并拒絕訪問請(qǐng)求。由于以編程方式進(jìn)行的 API 調(diào)用通常不會(huì)使用與 Web 瀏覽器相同的HTTP頭字段,因此我們建議對(duì) API URL 禁用 Browser Integrity Check,以防在瀏覽器之外進(jìn)行的調(diào)用受阻。

立即登錄,閱讀全文
版權(quán)說明:
本文內(nèi)容來自于Cloudflare,本站不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。文章內(nèi)容系作者個(gè)人觀點(diǎn),不代表快出海對(duì)觀點(diǎn)贊同或支持。如有侵權(quán),請(qǐng)聯(lián)系管理員(zzx@kchuhai.com)刪除!
優(yōu)質(zhì)服務(wù)商推薦
更多
掃碼登錄
打開掃一掃, 關(guān)注公眾號(hào)后即可登錄/注冊(cè)
加載中
二維碼已失效 請(qǐng)重試
刷新
賬號(hào)登錄/注冊(cè)
小程序
快出海小程序
公眾號(hào)
快出海公眾號(hào)
商務(wù)合作
商務(wù)合作
投稿采訪
投稿采訪
出海管家
出海管家