リクエストの標準化

AEM as a Cloud Service のトラフィックフィルタールールを使用してリクエストを変換し、標準化する方法について説明します。

リクエストを変換する理由とタイミング

リクエスト変換は、受信トラフィックを標準化し、不要なクエリパラメーターやヘッダーによって発生する不要な分散を減らす場合に役立ちます。この手法は、次の目的でよく使用されます。

  • AEM アプリケーションに関連のないキャッシュバスティングパラメーターを削除することで、キャッシュの効率を向上させる。
  • リクエストの並べ替えを最小限に抑え、不要な処理を軽減することで、オリジンを不正使用から保護する。
  • リクエストを AEM に転送する前に、削除または簡素化する。

これらの変換は通常、CDN レイヤーで適用され、特にパブリックトラフィックを処理する AEM パブリッシュ層に適用されます。

前提条件

続行する前に、トラフィックフィルタールールと WAF ルールの設定方法チュートリアルの説明に従って必要な設定が完了していることを確認します。また、AEM WKND Sites プロジェクトのクローンを作成し、AEM 環境にデプロイしておきます。

例:アプリケーションで不要なクエリパラメーターの設定解除

この例では、キャッシュの断片化を減らすために、searchcampaignId 以外のすべてのクエリパラメーターを削除​するルールを設定します。

  • 次のルールを WKND プロジェクトの /config/cdn.yaml ファイルに追加します。
kind: "CDN"
version: "1"
metadata:
  envTypes: ["dev", "stage", "prod"]
data:
  requestTransformations:
    rules:
    # Unset all query parameters except those needed for search and campaignId
    - name: unset-all-query-params-except-those-needed
      when:
        reqProperty: tier
        in: ["publish"]
      actions:
        - type: unset
          queryParamMatch: ^(?!search$|campaignId$).*$
  • 変更をコミットして Cloud Manager Git リポジトリにプッシュします。

  • 以前に作成した Cloud Manager 設定パイプラインを使用して、変更を AEM 環境にデプロイします。

  • WKND サイトのページ(例:https://publish-pXXXX-eYYYY.adobeaemcloud.com/us/en.html?search=foo&campaignId=bar&otherParam=baz)にアクセスして、ルールをテストします。

  • AEM ログ(aemrequest.log)では、リクエストが https://publish-pXXXX-eYYYY.adobeaemcloud.com/us/en.html?search=foo&campaignId=bar に変換され、otherParam が削除されていることが確認できます。

    WKND リクエスト変換

recommendation-more-help
4859a77c-7971-4ac9-8f5c-4260823c6f69