クラウド内の Dispatcher Dispatcher-in-the-cloud
はじめに apache-and-dispatcher-configuration-and-testing
ここでは、Dispatcher ツールとそのダウンロードおよび抽出方法、サポートされている Apache モジュール、レガシーモードとフレキシブルモードの概要について説明します。さらに、検証とデバッグ、AMS から AEM as a Cloud Service への Dispatcher 設定の移行についても説明します。
Dispatcher ツール dispatcher-sdk
Dispatcher ツールは、AEM as a Cloud Service の SDK の一部で、以下を提供します。
- Dispatcher 用の Maven プロジェクトにインクルードする設定ファイルを含んだバニラファイル構造。
- AEM as a Cloud Service でサポートされているディレクティブのみ Dispatcher 設定に含まれていることを顧客が検証するためのツール。また、ツールでは、構文が正しく、Apache が正常に起動できるかどうかも検証されます。
- Dispatcher をローカルで実行する Docker イメージ。
ツールのダウンロードと抽出 extracting-the-sdk
AEM as a Cloud Service SDK に含まれている Dispatcher ツールは、ソフトウェア配布ポータルで zip ファイルとしてダウンロードできます。新しい Dispatcher ツールバージョンで利用可能な新しい設定は、そのバージョン以降の AEM が実行されているクラウド環境にデプロイするときに使用できます。
SDK を解凍します。SDK には、macOS 版、Linux® 版および Windows 版の Dispatcher ツールがバンドルされています。
macOS/Linux の場合:Dispatcher ツールのアーティファクトを実行可能にして実行します。保存先のディレクトリ(version
は Dispatcher ツールのバージョン)の下に、Dispatcher ツールのファイルが自己抽出されます。
$ chmod +x aem-sdk-dispatcher-tools-<version>-unix.sh
$ ./aem-sdk-dispatcher-tools-<version>-unix.sh
Verifying archive integrity... 100% All good.
Uncompressing aem-sdk-dispatcher-tools-<version>-unix.sh 100%
Windows の場合:Dispatcher ツールの zip アーカイブを解凍します。
Dispatcher ツールを使用した検証とデバッグ validation-debug
Dispatcher ツールは、プロジェクトの Dispatcher 設定の検証とデバッグに使用されます。これらのツールの使用方法について詳しくは、プロジェクトの Dispatcher 設定がフレキシブルモードとレガシーモードのどちらで構造化されているかに応じて、以下で紹介するページを参照してください。
-
フレキシブルモード - AEM アーキタイプ 28 以降の推奨モードであり、デフォルトです。Cloud Manager 2021.7.0 リリース以降に作成された新しい環境用に Cloud Manager でも使用されます。このモードを有効にするには、フォルダーおよびファイル
opt-in/USE_SOURCES_DIRECTLY
を追加します。より柔軟性の高いこのモードを使用する場合は、rewrites フォルダー下のファイル構造に制限はありません。レガシーモードでは、このフォルダーに 1 つのrewrite.rules
ファイルが必要でした。また、追加できるルールの数に制限はありません。フォルダー構造とローカル検証について詳しくは、Dispatcher ツールを使用した検証とデバッグを参照してください。 -
レガシーモード - Dispatcher 設定のレガシーモードでのフォルダー構造とローカル検証について詳しくは、Dispatcher ツールを使用した検証とデバッグ(レガシー)を参照してください
従来の設定モデルからより柔軟性の高い設定モデル(AEM アーキタイプ 28 以降に付属)に移行する方法について詳しくは、このドキュメントを参照してください。
Content-Disposition content-disposition
パブリッシュ層では、BLOB のデフォルトの配信方法は添付ファイルです。 Dispatcher で標準の Content Disposition ヘッダーを使用して、この設定をオーバーライドします。
どのような設定になるかを次の例で示します。
<LocationMatch "^\/content\/dam.*\.(pdf).*">
Header unset Content-Disposition
Header set Content-Disposition inline
</LocationMatch>
サポートされている Apache モジュール supported-directives
次の表に、サポートされる Apache モジュールを示します。
mod_access_compat
mod_allowmethods
mod_authn_core
mod_authn_file
mod_authz_core
mod_authz_groupfile
mod_proxy_http
mod_reqtimeout
mod_security
mod_ssl (only the SSLProxyEngine directive)
mod_substitute
mod_include (no directives supported)
お客様が任意のモジュールを追加することはできませんが、今後、上記の表にある以外のモジュールが追加で組み込まれる可能性があります。お客様は、SDK でバリデーターの allowlist コマンドを実行することにより、特定の Dispatcher バージョンで使用可能なディレクティブのリストを見つけることができます。
Apache の設定ファイルで許可されているディレクティブは、バリデーターの allowlist コマンドを実行すると表示できます。
$ validator allowlist
Cloud manager validator 2.0.4
Allowlisted directives:
<Directory>
...
フォルダー構造 folder-structure
上記の Dispatcher ツールを使用した検証とデバッグの節で説明したように、プロジェクトの Apache および Dispatcher フォルダー構造は、プロジェクトで使用しているモードによって若干異なります。
AMS からの Dispatcher 設定の移行 ams-aem
Dispatcher 設定を AMS から AEM as a Cloud Service に移行する方法について詳しくは、AMS から AEM as a Cloud Service への Dispatcher 設定の移行を参照してください。