リバースプロキシ設定 (Design Studio、Data Catalog、Scheduler)¶
Design Studio、Data Catalog、および Scheduler で使用されているコンテンツセキュリティポリシー (CSP) により、これらのアプリケーションがプロキシの背後で正しく動作するには、プロキシは Cache-Control
と Pragma
の各 HTTP レスポンスヘッダーを変更してはいけません。
リバースプロキシ構成¶
Design Studio、Data Catalog、および Scheduler は、リバースプロキシの背後で動作でき、そのために URL を動的に構築する構成メカニズムを提供します。
この機能は、デフォルトで無効になっています。有効にするには、以下に示す適切な構成ファイルを開きます。
Design Studio の場合:
<DENODO_HOME>/conf/design-studio/DesignStudioBackend.properties
および<SOLUTION_MANAGER_HOME>/conf/design-studio/DesignStudioBackend.properties
Data Catalog の場合:
<DENODO_HOME>/conf/data-catalog/DataCatalogBackend.properties
Scheduler の場合:
<DENODO_HOME>/conf/scheduler-webadmintool/ConfigurationParameters.properties
各コンポーネントのリバースプロキシ構成は、これらのファイルの以下のプロパティで制御します。
reverse-proxy.enabled=false
reverse-proxy.forwardedPrefix=
reverse-proxy.autodetect=false
reverse-proxy.autodetectHeaders=Forwarded X-Forwarded-For X-Forwarded-Proto X-Forwarded-Prefix
reverse-proxy.cookieRewrite=false
リバースプロキシ機能を有効にするには、プロパティ reverse-proxy.enabled=true
を設定します。
プロキシサーバーが X-Forwarded-Prefix
HTTP ヘッダーを提供する場合、これ以上の構成は不要です。
プロキシサーバーが X-Forwarded-Prefix
HTTP ヘッダーを提供しない場合、パラメータ reverse-proxy.forwardedPrefix=<context-path>
を設定することにより、転送するプレフィックス値を手動で構成します。
注釈
デフォルトコンテキストパスは、Design Studio では /denodo-design-studio
、Data Catalog では /denodo-data-catalog
、Scheduler では /webadmin/denodo-scheduler-admin
です。
reverse-proxy.forwardedPrefix
を使用して転送するプレフィックス値を手動で構成し、Web アプリケーションがプロキシから送信される HTTP リクエストとプロキシ以外から送信される HTTP リクエストを解決する必要がある場合、 reverse-proxy.autodetect=true
を設定します。
また、 reverse-proxy.autodetectHeaders
を設定することにより、リクエストがプロキシから送信されたかどうかを検出するために使用されるリクエストヘッダーのリストを提供できます。このパラメータのデフォルト値は、 Forwarded X-Forwarded-For X-Forwarded-Proto X-Forwarded-Prefix
です。
reverse-proxy.autodetectHeaders
に設定されているいずれかの値が含まれる HTTP リクエストは、プロキシから送信されたリクエストと見なされます。その場合、生成される URL は、プレフィックス reverse-proxy.forwardedPrefix
を参照します。それ以外の場合、生成される URL は、デフォルトコンテキストパスを参照します。
プロキシサーバーが Cookie のパスの書き換えをサポートしない場合、 reverse-proxy.cookieRewrite=true
を設定すると、Web コンテナーは Cookie のパスを reverse-proxy.forwardedPrefix
の値で書き換えます。reverse-proxy.cookieRewrite
が有効な場合、すべてのリクエストの Cookie のパスが変更され、プロキシ以外からのリクエストは機能しません。
これらの変更を有効にするには、変更したコンポーネントを再起動します。