「クライアント > (https、ポート:8010) > LB > (http、ポート:8080) > WebOTX」という流れでアクセスするシステムがあります。この時、WebOTX上で動作するアプリケーションでHTTPレスポンスにLocationヘッダを生成していますが、意図したURLにリダイレクトされません。
具体的には、Locationヘッダに設定されるURLが次のようになり、LBにアクセスできない状態です。
誤) Location: http://targetHost:8080/targetAP/targetURL
正) Location: https://targetHost:8010/targetAP/targetURL
Locationヘッダに設定するスキーマ、ポート番号、そしてURLを次のAPIを利用して生成している場合、WebOTXの設定で対処可能です。
javax.servlet.http.ServletRequest#getScheme()
javax.servlet.http.ServletRequest#getServerPort()
javax.servlet.http.HttpServletResponse#sendRedirect()
WebOTXのデフォルトの状態では、WebOTXが直接通信を行うクライアントの情報を元にLocationヘッダを生成するためお問い合わせのようなURLになります。LBにアクセス可能なURLを生成するには、次の運用管理コマンドでスキーマとポート番号の設定を行ってください。
【WebOTX V9以降の場合】
otxadmin> set server.network-config.protocols.protocol.{プロトコル名}.http.scheme=https
otxadmin> set server.network-config.protocols.protocol.{プロトコル名}.http.proxy-port={LBのポート番号}
【WebOTX V8の場合】
otxadmin> set server.http-service.http-listener.{リスナ名}.property.scheme=https
otxadmin> set server.http-service.http-listener.{リスナ名}.property.proxyPort={LBのポート番号}
※) 事前に設定対象のドメインにログインしてください。
otxadmin> login --user admin --password adminadmin --port 6212 (domain1デフォルトの場合)
※) {プロトコル名}は、利用しているWebサーバの種別により次のように変わります。
【WebOTX V10以降の場合】
http-protocol :内蔵Webサーバ
agent-ajp-protocol :外部Webサーバ(APをエージェントプロセスに配備)
tpsystem-ajp-protocol :外部Webサーバ(APをプロセスグループに配備)
【WebOTX V9の場合】 (V9では{プロトコル名}に"xxx-listener"と指定します)
http-listener :内蔵Webサーバ
ajp-listener :外部Webサーバ
※) {リスナ名}は、利用しているWebサーバの種別により次のように変わります。
http-listener-1 :内蔵Webサーバ
ajp-listener-1 :外部Webサーバ
設定を行ったらドメインを再起動してください。
現在どのWebサーバを利用しているか不明な場合は、次のFAQの手順に沿ってご確認ください。
【WebOTX Application Server】利用しているWebサーバの確認方法(OTX-FAQ-000832)
【対象製品】Application Server
【確認済みのバージョン】V8以降
【確認済みのエディション】すべて
【確認済みの対象OS】すべて
【確認済みのJavaバージョン】すべて
【コンポーネント】Webコンテナ
【カテゴリー】運用/設定