使用Cloudflare在源站進(jìn)行負(fù)載平衡的一般使用技巧

來源: Cloudflare
作者:Cloudflare
時間:2020-12-31
20503
了解如何將您當(dāng)前的 Load Balancing 解決方案與 Cloudflare 集成。

概述

與 Cloudflare 集成時,在網(wǎng)站的主機(jī)環(huán)境中使用 Load Balancer 時,請考慮以下使用技巧:

Cloudflare 的 DNS Load Balancing

HTTP keep-alive

會話 Cookie

Railgun

DNS Load Balancing

Cloudflare 的 Load Balancing 功能支持基于 DNS 的負(fù)載均衡,并會對您的源站進(jìn)行運(yùn)行狀況檢查。它在 Cloudflare 的現(xiàn)有 Anycast DNS 網(wǎng)絡(luò)上進(jìn)行了擴(kuò)展,以提供無懼于 DDoS 的故障轉(zhuǎn)移(繞過不健康的源站)和地理轉(zhuǎn)向(將用戶定向到特定的源站池)。

HTTP 保持連接(HTTP 持久連接)

由于 Cloudflare 代理了從邊緣網(wǎng)絡(luò)到站點(diǎn)源的客戶流量,Cloudflare 保持 keep-alive 連接以提升性能并降低請求交易中 TCP 重復(fù)連接的成本。

因此,我們強(qiáng)烈建議在 Load Balancer 上啟用 HTTP Keep-Alive 連接,并將 keep-alive 超時設(shè)置為至少 300 秒,以匹配 Cloudflare 的默認(rèn)設(shè)置。

這將避免過早重置 Cloudflare 代理的請求的連接,或 Load Balancer 出現(xiàn)超時。

會話 Cookie

如果使用 HTTP Cookie 追蹤并將用戶會話綁定到負(fù)載平衡器上的某個特定的應(yīng)用服務(wù)器,最好對 Load Balancer 進(jìn)行配置,使之按 Cooke 標(biāo)頭解析 HTTP 請求,并將每個請求定向到正確的應(yīng)用服務(wù)器,即便由于 keep-alive,所有 HTTP 請求都共享的是同一個 TCP 連接。

例如:F5 BIG-IP Load Balancer 將在 TCP 連接開始時設(shè)置會話 Cookie(若不存在),然后忽略在同一 TCP 套接字上進(jìn)行的后續(xù) HTTP 請求中傳遞的所有 Cookie。由于 Cloudflare 將通過同一 TCP 連接發(fā)送多個不同的 HTTP 會話,因此這往往會破壞會話粘性。(基于 HTTP Cookie 的會話粘性)。

Railgun(WAN 優(yōu)化)

使用 Railgun 和 Load Balancer 時,理想的設(shè)置是將 Railgun Listener 置于 Load Balancer 的前面。因?yàn)楹茈y為 Sender/Listener 之間持久的 TLS 連接平衡負(fù)載,理想的設(shè)置是將 Listener 放在前面,這樣 LB 即可正常處理 HTTP/S 連接。

Railgun Diagram (LB Setup).png

由于 Railgun 用作 HTTP 反向代理,因此如果沒有 Railgun,則 Load Balancer 設(shè)置應(yīng)與已啟用的設(shè)置匹配(即應(yīng)啟用 HTTP 保持活動連接并將其設(shè)置為 90 秒超時)。

如果將 Railgun 放在 Load Balancer 的后面,此設(shè)置仍然可以正常作用,但是需要采取其他步驟以避免站點(diǎn)流量中斷:

配置 railgun-nat.conf 文件來設(shè)置 Railgun 將得到優(yōu)化的主機(jī)的內(nèi)部地址(以避免將請求向外循環(huán)到 Internet 并返回到 LB 以轉(zhuǎn)發(fā)到原點(diǎn)。)

確認(rèn)沒有防火墻規(guī)則會阻止偵聽器與源站之間的通信量或限速。

確認(rèn)端口 2408 為打開狀態(tài)并通過 LB,且監(jiān)聽器和發(fā)送器之間的 TLS 連接沒有受到任何阻礙。

立即登錄,閱讀全文
版權(quán)說明:
本文內(nèi)容來自于Cloudflare,本站不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。文章內(nèi)容系作者個人觀點(diǎn),不代表快出海對觀點(diǎn)贊同或支持。如有侵權(quán),請聯(lián)系管理員(zzx@kchuhai.com)刪除!
優(yōu)質(zhì)服務(wù)商推薦
更多