我想使用 AWS WAF 來允許或封鎖來自特定國家或地理位置的請求。
簡短描述
若要封鎖特定國家/地區存取您的網站,或僅允許特定國家/地區存取,請使用地理位置比對規則陳述式。
首先,新增地理位置比對規則陳述式,以允許來自您想要允許的國家/地區網路請求。然後,為您要封鎖的國家/地區新增第二個地理位置比對規則陳述式。
**注意:**如果您使用 Amazon CloudFront 地理位置限制來封鎖某個國家/地區存取您的內容,則 CloudFront 會封鎖來自該國家/地區的所有請求。CloudFront 不會將請求轉送至 AWS WAF。若要使用 AWS WAF 標準根據地理位置允許或封鎖請求,請改用 AWS WAF 地理位置比對規則陳述式。
解決方法
請完成下列步驟:
- 開啟 AWS WAF 主控台。
- 在導覽窗格的 AWS WAF 下,選擇 Web ACL。
- 在 Region (區域) 中,選取您建立 Web 存取控制清單 (Web ACL) 的 AWS 區域。
**注意:**如果您的 Web ACL 是為 CloudFront 設定的,請選取 Global (全域)。
- 選取您的 Web ACL。
- 在 Rules (規則) 下,選擇 Add Rules (新增規則),然後選擇 Add my own rules and rule groups (新增我自己的規則和規則群組)。
- 在 Rule type (規則類型) 中,選擇 Rule builder (規則建置器)。
- 在 Name (名稱) 中,輸入規則的名稱。
- 在 Type (類型) 中,選擇 Regular rule (一般規則)。
- 在 If a request (如果請求) 中,選擇 matches the statement (比對陳述式)。
- 在 Choose an inspection option (選擇檢查選項),選擇 Originates from a country in (來源國家/地區)。
- 在 Choose country codes (選擇國家代碼) 中,選取您要允許或封鎖的國家/地區。
- (選用) 選擇 Source IP address (來源 IP 位址) 或 IP address in header (標頭中的 IP 位址) 來定義請求的來源國家/地區。
**重要:**當請求透過內容交付網路 (CDN) 或其他 Proxy 網路路由時,來源 IP 位址會識別 Proxy。在這種情況下,請求會在標頭中傳送原始 IP 位址。Proxy 可能會以不一致的方法管理標頭,並修改標頭以繞過檢查。
- 在 Action (動作) 中,選擇 Allow (允許) 或 Block (封鎖)。
注意:如果 Web ACL 預設動作為封鎖,請將規則動作設為允許。此組態不允許 AWS WAF 檢查請求。如果預設動作為允許,請將規則動作設為封鎖,並新增 NOT 陳述式來指定不要封鎖的國家/地區。
- 選擇 Add rule (新增規則)。
- (選用) 在 Set rule priority (設定規則優先順序),選擇您的規則,然後設定規則優先順序。
- 選擇 Save (儲存)。