Interstage V9.3以前と比較して以下の非互換があります。
キープアライブの無効への変更について
Webコンテナのキープアライブは、V9.3以前ではデフォルトで"有効"に設定されていましたが、V10.0ではデフォルトで"無効"に変更されました。なお、V9.3以前の環境から移行したIJServerクラスタのキープアライブは、V9.3以前の環境の設定値(デフォルト値は有効)から変更されていません。キープアライブについては、以下のマニュアルを参照して、必要に応じて変更してください。
「チューニングガイド」-「Webコンテナのチューニング」の「キープアライブ」
キープアライブの有効/無効の設定は、Interstage Java EE管理コンソールの[設定] > [クラスタ名-config]または[server-config] > [HTTPサービス]の[追加プロパティ]およびasadminコマンドを使用して、"maxKeepAliveRequests"プロパティを設定/変更することで、可能となります。詳細については、以下のマニュアルを参照してください。
Interstage Java EE管理コンソールヘルプ
「リファレンスマニュアル(コマンド編)」-「configs.config.http-serviceの定義項目」の「property.maxKeepAliveRequests(1回のコネクションで処理可能なリクエスト数)」
キープアライブのタイムアウトのデフォルト値変更について
Webコンテナのキープアライブタイムアウトのデフォルト値は、V9.3以前では10秒に設定されていましたが、V10.0で15秒に変更されました。なお、V9.3以前の環境から移行したIJServerクラスタのキープアライブのタイムアウトは、V9.3以前の環境の設定値(デフォルト値は10秒)から変更されていません。キープアライブのタイムアウト値については、以下のマニュアルを参照して、必要に応じて変更してください。
「チューニングガイド」-「Webコンテナのチューニング」の「キープアライブのタイムアウト」
キープアライブのタイムアウトの設定値は、asadminコマンドを使用して変更できます。詳細については、以下のマニュアルを参照してください。
「リファレンスマニュアル(コマンド編)」-「configs.config.http-serviceの定義項目」の「keep-alive.timeout-in-seconds(キープアライブのタイムアウト)」
HTTPアクセスログについて
HTTPアクセスログは、以下の変更があります。
デフォルトで出力するように変更
HTTPアクセスログは、V9.3以前ではデフォルトで出力されませんでしたが、V10.0ではデフォルトで出力されるように変更されました。なお、V9.3以前の環境からIJServerクラスタを移行した場合、HTTPアクセスログの出力は、V9.3以前の環境の設定値(デフォルトでは出力されない)から変更されていません。
移行先で改めてHTTPアクセスログを出力するようにする場合、HTTPアクセスログの設定を変更してください。詳細については、「Java EE運用ガイド」-「HTTPアクセスログ」を参照してください。
デフォルトでのログ出力形式の変更
HTTPアクセスログの出力形式は、一般的なWebサーバで採用されているCommonLogFormatをベースに、過去の保守の実績により必要と判断した情報(ex. セッションID)を付加した形式に変更されます。
また、V9.3までは、出力パターンとしてリクエスト情報(IN)とレスポンス情報(OUT)の両方を出力するパターンとレスポンス情報(OUT)のみを出力するパターンを選択できましたが、IN/OUT出力では冗長となる出力項目が多数存在するため、V10.0ではレスポンス時の情報のみを出力するように変更されます。INの非公開に伴い不足する情報(アプリ処理時間)は、代替機能(%time-taken%および、HTTPトレースログ)で確認することが可能となります。
出力形式の変更に伴い、V9.3以前のHTTPサービスの定義項目で「HTTPアクセスログの出力内容」として定義していた、“accessLoggingEnabledType”プロパティについては、非公開プロパティとなります。
なお、V9.3以前の環境からV10へ移行した場合は、以下のようにV9.3以前と同じIN/OUT形式で出力されます。
リクエスト情報
IN "ThreadID=スレッドID, ThreadName=スレッド名" "リモートホスト名(Webサーバなどに接続するクライアント)" "リモートホスト名(IJServerクラスタに接続するクライアント)" "認証ユーザ名" "日付" "リクエストライン" |
レスポンス情報
OUT "ThreadID=スレッドID, ThreadName=スレッド名" "リモートホスト名(Webサーバなどに接続するクライアント)" "リモートホスト名(IJServerクラスタに接続するクライアント)" "認証ユーザ名" "日付" "リクエストライン" ステータスコード レスポンスレングス(byte) "処理時間(ms)" |
移行後にV10のHTTPアクセスログ形式で出力するには、アクセスログの設定を変更してください。設定方法については、「Java EE運用ガイド」-「HTTPアクセスログ」を参照してください。
HTTPアクセスログの出力形式がカスタマイズ可能
HTTPアクセスログに出力する形式は、V9.3以前では固定されていましたが、V10.0でキーワードを指定することによってカスタマイズできるように変更されました。
形式については、「Java EE運用ガイド」-「HTTPアクセスログ」を参照してください。
出力ディレクトリの変更
V9.3以前は、共通ログ出力先ディレクトリ配下の"access"ディレクトリに出力していましたが、V10でサービス単位の名前ディレクトリ"http"に出力するように変更されました。
配備したアプリケーションへのアクセスに使用するポートについて
Webサーバを経由せずにIJServerクラスタまたはInterstage Java EE DASサービス上に配備されたWebアプリケーションを呼び出す場合、デフォルトでは、80ポートではアクセスできません。そのため、ポート番号を調べてURLに直接指定する必要があります。
80ポートでアクセスしたい場合は、HTTPリスナーのポート番号を80に変更してください。
ポート番号の変更方法については、「システム設計ガイド」の「ポート番号」を参照してください。
IJServerクラスタまたはInterstage Java EE DASサービス上に配備されたWebアプリケーションはInterstage Java EE管理コンソールから呼び出すことができます。「Webアプリケーション」画面の「配備されている Web アプリケーション 」の一覧から、対象のWebアプリケーションの「起動」をクリックしてください。
Webアプリケーションを呼び出すためのURLが記載された画面が表示されますので、URLをクリックしてください。
この時、表示されるURLはWebサーバを経由しない場合のURLです。Webサーバ経由で呼び出すURLは表示されません。
レスポンスヘッダに付加されるServerヘッダについて
V9.3までは、Webコンテナがレスポンスヘッダに付加するServerヘッダの値を変更可能でしたが、V10.0ではレスポンスヘッダに付加されません。また、設定による動作(付加する/しない)の切り替え、値の変更はできません。
レスポンスヘッダに付加されるX-Powered-Byヘッダについて
V9.3までは、JSFアプリケーション呼び出し時のレスポンスヘッダに、X-Powered-Byヘッダが付加されていましたが、V10.0ではデフォルトで付加されません。なお、V9.3以前の環境から移行した場合、レスポンスヘッダにX-Powered-Byヘッダが出力されます。X-Powered-Byヘッダについては、「セキュリティシステム運用ガイド」- 「セキュリティ対策」 - 「Java EEに関する対策」の「サーバ情報の漏洩」を参照してください。また設定方法については、以下のマニュアルを参照してください。
「Java EE運用ガイド」-「HTTPサービスの定義項目」の「X-Powered-By ヘッダーフィールド」
HTTPトレースログについて
HTTPトレースログは、V10からサポートされ、デフォルトで出力されるようになりました。なお、V9.3以前の環境から移行した場合、HTTPトレースログは出力されません。HTTPトレースログを出力させる場合、HTTPトレースログの設定を追加してください。設定方法については、以下のマニュアルを参照してください。
「Java EE運用ガイド」-「HTTPトレースログ」
Webコンテナへアクセスする運用形態の設定オプションについて
V10でWebコンテナへアクセス直接アクセスする運用形態がサポートされたため、運用形態を設定するオプションが追加されました。運用形態に合わせて設定値を変更する必要があります。
V9.3以前から移行したIJServerクラスタには本オプションの設定が行われていないため、省略値「nocheck」の動作(V9.3以前と同じ動作)となります。よりセキュアにするために、定義の変更(「webserver」を設定)もしくは、運用形態の変更など、必要に応じて設定を行ってください。
詳細は、「Java EE運用ガイド」-「HTTPサービスの定義項目」を参照してください。
リダイレクトのため返却されるステータスコードの値について
Webアプリケーションに対して、コンテキストルートやディレクトリ名の末尾に「/」を付けずにリクエストを送信した際に返却されるステータスコードが、V9.3以前とV10以降で異なります。V9.3以前はステータスコード302が返却されていましたが、V10ではステータスコード301が返却されるようになりました。なお、リダイレクトされるURLはV9.3以前と同じであるので、ブラウザに表示されるコンテンツに影響はありません。
定義項目名の変更について
asadminコマンドのget/set/listサブコマンドで操作できる定義項目名が変更になります。
項目名 | V9.xの定義項目名 |
---|---|
V10.0の定義項目名 | |
セッション定義 | ${clusterName_instanceName_configName}.session-config |
${clusterName_instanceName_configName}.web-container.session-config | |
セッションマネージャ | ${clusterName_instanceName_configName}.session-config.session-manager |
${clusterName_instanceName_configName}.web-container.session-config.session-manager | |
マネージャプロパティリスト | ${clusterName_instanceName_configName}.session-config.session-manager.manager-properties |
${clusterName_instanceName_configName}.web-container.session-config.session-manager.manager-properties | |
マネージャプロパティの追加プロパティ | ${clusterName_instanceName_configName}.session-config.session-manager.manager-properties.property.${PropertyName} |
${clusterName_instanceName_configName}.web-container.session-config.session-manager.manager-properties.property.${PropertyName} | |
セッションプロパティリスト | ${clusterName_instanceName_configName}.session-config.session-properties |
${clusterName_instanceName_configName}.web-container.session-config.session-properties | |
セッションプロパティの追加プロパティ | ${clusterName_instanceName_configName}.session-config.session-properties.property.${PropertyName} |
${clusterName_instanceName_configName}.web-container.session-config.session-properties.property.${PropertyName} |