某應用程式需要用戶端的 IP 位址,但現在它在 Application Load Balancer 後方執行,因此所有請求看起來都來自同一個 IP。該應用程式必須保持水平擴展性。什麼是成本效益最高的解決方案?
選擇一個答案
點擊一個選項來檢查您的答案。
正確答案: 修改應用程式以讀取 X-Forwarded-For 標頭,並處理標頭包含 IP 位址列表的情況。.
為什麼這是答案
當應用程式執行在 Application Load Balancer (ALB) 後方時,ALB 會終止用戶端連線並建立新的連線到後端實例。因此,後端應用程式會看到來自 ALB 的 IP 位址,而非原始用戶端的 IP 位址。ALB 會將原始用戶端的 IP 位址插入到 X-Forwarded-For HTTP 標頭中。因此,修改應用程式以讀取此標準標頭是擷取用戶端 IP 位址最直接且成本效益最高的方法,同時保持應用程式的水平擴展性。 將應用程式從 ALB 中移除會失去負載平衡、高可用性和其他 ALB 功能,不符合水平擴展性的需求。建立 Classic Load Balancer (CLB) 也會遇到相同的問題,因為 CLB 也會透過 X-Forwarded-For 標頭傳遞用戶端 IP。修改應用程式以讀取自訂標頭並更新用戶端是不可行的,因為用戶端通常無法修改其傳送的 HTTP 標頭來包含其自身的 IP 位址,且這會增加不必要的複雜性。
通過考試 — 無需無休止地尋找答案
集中一處獲取此考試的所有核實題目和解釋,節省數小時的準備時間。1,000 多種認證 · 20 多種語言 · 免費開始。
更快通過您的考試 → 無需信用卡