メールクライアントでメールキャンペーンリンクをクリックした場合の403の禁止エラー
この記事では、メールクライアントでメールキャンペーンリンクをクリックすると発生する403の禁止エラーに対処します。同じリンクは、ブラウザーで直接リンクを開くと機能します。 この問題は、Dispatcherの認証ロジックによって書き換えられ、評価される使いやすいキャンペーン URLに影響します。 これを修正するには、Dispatcher auth_checkerの設定を確認し、書き換え処理を確認し、認証チェックを保護されたパスのみに制限します。
説明 description
環境
Adobe Experience Manager(AEM)とDispatcher
問題/症状
- メールキャンペーンのリンクをメールクライアントでクリックすると、403 Forbidden エラーが返されます。
- ブラウザーで直接コピーして開くと、同じURLが正しく機能します。
- 影響を受けるURLは、通常、
/sc/...などの親しみやすいパスを使用し、mkt_tokなどのトラッキングパラメーターを含みます。 - 問題が発生した場合や解決した場合、AEMまたはDispatcherの設定は変更されませんでした。
エラーの例:
403 Forbiddenこのリソースにアクセスする権限がありません。
原因
この問題は、Dispatcher auth_checkerが広すぎる範囲で構成され、公開キャンペーンページが保護されたコンテンツとして扱われる場合に発生します。 これにより、フレンドリ URLが書き換えられ、セキュリティで保護されたパスに対して評価される場合、正当な公開リンクに対して403 エラーが発生します。
解決策 resolution
この問題に対処するには、次の手順に従います。
-
影響を受けるサイトのDispatcher ファーム設定ファイルを開き、
auth_checkerセクションを確認します。 認証チェックで評価されるリクエストを決定するfilterまたはurlパターンを確認します。 -
影響を受けるキャンペーン URLの書き換えルールを確認します。
/sc/...などのフレンドリ URLが/content/...個のパスに書き換えられることを確認します。- Dispatcherが書き換えられたURLを評価するように、
DispatcherUseProcessedURL 1が有効になっていることを確認します。
-
auth_checkerの範囲を制限して、公開キャンペーンパス (例:/sc/*.html)に広く適用されないようにし、認証を必要とするパス (例:/content/secure/...)のみに制限します。 次のような設定パターンを使用します。code language-none /auth_checker { ... /filter { /0001 { /glob "/content/secure/*" /type "allow" } /0002 { /glob "*" /type "deny" } } } -
mkt_tokなどのトラッキングパラメーターが、公開ページのDispatcher キャッシュまたは認証ロジックに影響しないことを確認してください。 -
テストメールを送信し、メールクライアントで
/sc/...の下のリンクをクリックすると、403 Forbiddenが返されなくなったことを確認します。
関連トピックス
- AEM Dispatcherの設定
- セキュリティで保護されたコンテンツをキャッシュ
- Dispatcherをインストール
- AEMがApache書き換えルール を使用して/robots.txtをリダイレクトできませんでした