Edge Security Acceleration (ESA) は、統一されたルールエンジンを提供します。これにより、キャッシュ、リダイレクト、圧縮、オリジンフェッチ、WAF (Web アプリケーションファイアウォール) など、異なる機能にわたって条件付きルールを作成し、デプロイできます。すべて同じ構文と設定ロジックを使用します。各機能を個別に設定する代わりに、ユーザーリクエスト内のパラメータを識別し、設定を適用するかどうかを決定するルール条件を定義します。これにより、ESA がサイトへのトラフィックを処理する方法を柔軟かつ正確に制御できます。
事前準備
ルールを作成する前に、次の要件を満たしていることを確認してください。
ESA が有効化された Alibaba Cloud アカウントが必要です。
ESA コンソールに少なくとも 1 つのサイトを追加し、DNS 設定を完了している必要があります。
ESA コンソールにアクセスできる必要があります。
ESA ルール
ルールを使用すると、キャッシュ、リダイレクト、圧縮、オリジンフェッチ、WAF など、異なる機能にわたって条件付きロジックを作成してデプロイできます。すべて同じ構文を使用します。
各ルールは、次の 3 つのコンポーネントで構成されます。
一致フィールド — 評価するリクエスト属性 (例:ホスト名、URI パス、国/地域)。
一致演算子 — フィールドと値を比較する方法 (例:次と等しい、次と等しくない、次を含む)。
一致する値 — 比較する特定の値 (例:
www.example.comまたは/content)。
注: 特定の機能について、グローバルレベルとルールレベルの両方で設定を追加した場合、ユーザーリクエストがルール条件に一致すると、ルール設定が優先されます。 ルール条件と機能設定を含む単一のルール設定は、4 K 文字に制限されます。 グローバル設定、ルール設定、証明書設定を含むサイトのすべての設定情報は、512 K 文字に制限されます。この制限には、セキュリティ保護のルール設定は含まれません。 ルール名は 128 文字に制限されます。
ルールテンプレート
ESA は、一般的なユースケース向けのルールテンプレートを提供します。テンプレートをクリックすると、条件をゼロから構築することなく、すばやくルールを作成できます。
ルールを追加すると、ユーザーがリソースをリクエストするたびに、ESA はルールの実行優先度に基づいてルールを順次照合して実行します。
操作手順
次の例では、[新しい URL にリダイレクト] テンプレートを使用してリダイレクトルールを作成する方法を説明します。
ESA コンソールで [ウェブサイト] を選択し、[ウェブサイト] 列で目的のサイトをクリックします。
左側のナビゲーションペインで、[ルール] > [ルールテンプレート] を選択します。
「ルールテンプレート」ページで、[新しい URL にリダイレクト] を選択し、右上隅の [作成] をクリックします。
カスタムルール設定で、リダイレクトする URI パス (
/esa.jpgなど) を入力します。URL リダイレクトセクションで、完全なリダイレクト URL (
https://www.aliyun.comなど) を入力します。http://yourDomain/esa.jpgにアクセスしてテストします。301 ステータスコードが返されることで、リダイレクトが有効であることが確認できます。

WAF 保護ルールの使用
WAF カスタムルールを使用すると、地理的な場所によってアクセスを制限できます。次の例では、中国本土以外からのすべてのトラフィックをブロックします。
例: 中国本土を除くすべての国と地域のブロック
このルールの動作:
|
一致フィールド |
一致演算子 |
一致する値 |
アクション |
|
国/地域 |
次と等しくない |
中国本土 |
ブロック |
式: (ip.geoip.country ne "CN")
ルール条件の設定
ESA コンソールで、[ウェブサイト] を選択し、[ウェブサイト] 列で目的のサイトをクリックします。
左側のナビゲーションペインで、[セキュリティ] > [WAF] > [カスタムルール] > [ルールを作成] を選択します。
[ルール名] に、
rule-01などを入力します。「一致タイプ」ドロップダウンリストから[国/地域]を選択します。
演算子ドロップダウンリストから、[等しくない] を選択します。
「一致する値」ドロップダウンリストから、[中国本土] を選択します。
[アクション] ドロップダウンリストから、[ブロック] を選択し、[OK] をクリックします。

代わりに単一の国または地域をブロックするには、[演算子] ドロップダウンリストから [等しい] を選択し、同じ手順に従います。
ブロックルールの検証
中国本土以外 (例:シンガポール) からリクエストを送信します。デフォルトのブロックページと 403 ステータスコードが返されます。

リダイレクトルールの設定
リダイレクトルールを使用すると、訪問者を古い URL から新しい URL に自動的に転送できます。たとえば、コンテンツを別の場所に移動する場合などに使用します。
例: ある URL から別の URL へのリダイレクト
このルールの動作:
|
一致フィールド |
一致演算子 |
一致する値 |
|
ホスト名 |
次と等しい |
|
|
URI パス |
次と等しい |
|
両方の条件に一致するリクエストは、https://www.example.com/image/image2.jpg にリダイレクトされます。
ルール条件の設定
ESA コンソールで、[Web サイト] を選択し、[Web サイト] 列で目的のサイトをクリックします。
左側のナビゲーションペインで、[ルール] > [リダイレクトルール] > [ルールの作成] を選択します。
rule-02などの[ルール名] を入力します。「一致タイプ」ドロップダウンリストから、[ホスト名] を選択します。
Operator ドロップダウンリストから、[次と等しい] を選択します。
[一致する値] テキストボックスに、
www.example.comと入力します。[And]をクリックして 2 つ目の条件を追加します。[一致タイプ] ドロップダウンリストから、[URI パス]を選択します。
演算子ドロップダウンリストから、[次と等しい] を選択します。
[一致する値] テキストボックスに、
/image1.jpgと入力します。URL リダイレクトセクションで、リダイレクト先の URL (
https://www.example.com/image/image2.jpg) を入力します。

リダイレクトの検証
元の URL にアクセスします。リクエストは https://www.example.com/image/image2.jpg にリダイレクトされ、301 ステータスコードによってリダイレクトが有効であることが確認できます。

ブラウザキャッシュ TTL ルールの設定
ブラウザキャッシュ TTL ルールを使用すると、特定のリソースに対してブラウザがコンテンツをキャッシュする期間を制御できます。これにより、パフォーマンスとコンテンツの鮮度のバランスを取ることができます。
例: ホスト名が www.example.com で、URI パスが /content の場合のリソースの 1 時間キャッシュ
このルールの動作:
|
一致フィールド |
一致演算子 |
一致する値 |
|
ホスト名 |
次と等しい |
|
|
URI パス |
次と等しい |
|
ブラウザキャッシュ TTL: 1 時間 (結果: cache-control: max-age=3600)
ルール条件の設定
ESA コンソールで、[ウェブサイト] を選択し、[ウェブサイト] 列で、目的のサイトをクリックします。
左側のナビゲーションペインで、[ルール] > [キャッシュルール] > [ルールの作成] を選択します。
[ルール名] に、
rule-03などを入力します。一致タイプのドロップダウンリストから、[ホスト名] を選択します。
オペレータードロップダウンリストから、[等しい] を選択します。
[一致する値] テキストボックスに、
www.example.comと入力します。[And] をクリックして 2 つ目の条件を追加します。 Match Type ドロップダウンリストから、[URI パス] を選択します。
「演算子」ドロップダウンリストから、[次と等しい] を選択します。
[一致する値] テキストボックスに、
/contentと入力します。

ブラウザキャッシュ TTL の設定
[カスタム TTL を使用] を選択し、1 を入力して、単位として [時間] を選択します。

ブラウザキャッシュ TTL の検証
ファイルにアクセスしてテストします。レスポンスヘッダー cache-control: max-age=3600 により、ブラウザキャッシュ TTL が 1 時間に設定されていることを確認できます。
