ルールのよくある質問
このトピックでは、ルールに関するよくある質問に回答します。
プライベート CIDR ブロックの識別
特定のリージョンでは、一部のインターネットサービスプロバイダー (ISP) がクライアントにプライベート IP アドレスを割り当てる場合があります。その結果、ESA ノードがプライベート CIDR ブロックからのクライアント IP を受信する可能性があります。これにより、国/リージョン、プロビンス、キャリアなどのパラメーターを使用するルールは、これらのリクエストを正確に識別できません。プライベート CIDR ブロックからのリクエストを処理するには、次の手順に従ってください。
ステップ 1:IP リストの作成
-
グローバル設定 > [リスト] に移動します。[リストを作成] をクリックし、次の 3 つのプライベート IP/CIDR ブロック のエントリを追加します:
-
クラス A のプライベート IP アドレス:10.0.0.0 ~ 10.255.255.255、サブネットマスク:10.0.0.0/8。
-
クラス B のプライベート IP アドレス:172.16.0.0 ~ 172.31.255.255、サブネットマスク:172.16.0.0/12。
-
クラス C のプライベート IP アドレス:192.168.0.0 ~ 192.168.255.255、サブネットマスク:192.168.0.0/16。
-
-
エントリを追加すると、設定は次の図のように表示されます。OK をクリックします。

ステップ 2:プライベート CIDR ブロックルールの追加
-
この例では、カスタムルールを使用します。WAF カスタムルール ページで ルールを追加 をクリックし、次の図のとおりに設定します。

-
完了したら、OK をクリックします。
これらのルール条件を追加すると、ESA はプライベート CIDR ブロックからのクライアントリクエストを正確に識別します。
ミニプログラムの画像読み込み失敗
症状
ESA でレートベースのルール (たとえば、10 秒以内に 20 を超えるリクエストを受信した場合に 1 時間 JS/スライダーチャレンジをトリガーするなど) を設定すると、ミニプログラム内のすべての画像が読み込みに失敗します。ルールを削除すると、この問題は解決されます。
原因
ミニプログラムの読み込み時、画像に対して多数の同時リクエストが送信されます。このリクエストのバーストにより、設定した頻度のしきい値を容易に超える可能性があります。レートベースのルールがトリガーされると、正当な画像リクエストが遮断され、JS/スライダーチャレンジが表示されます。ミニプログラムの実行環境ではこのチャレンジを実行できないため、すべての画像リクエストがブロックされます。
解決策
この問題を解決するには、次のいずれか (または複数) の方法を使用してください:
-
頻度のしきい値を引き上げる:しきい値を高く設定します (例:10 秒あたり 100 リクエスト)。これにより、通常の画像読み込み中にルールがトリガーされるのを防止できます。
-
一致範囲を絞り込む:ルールの一致条件で、URL パスまたは拡張子に基づいてフィルタリングし、画像リクエストを除外します。これにより、レートベースのルールは静的リソース以外のリクエストにのみ適用されます。
-
ホワイトリストを設定する:ミニプログラムの既知の送信元 IP または Referer をホワイトリストに追加し、レートベースのルールの対象外にします。
-
ルールを一時的に削除: 適切な しきい値をすぐに判断できない場合は、まずレートベースのルールを削除してサービスを復旧させます。 次に、ESA コンソールのリクエスト分析機能を使用して異常な IP アドレスを特定し、より正確なルールを設定します。