具体的には以下の特徴があります。
- Apache Tomcatのサポート: uCosminexus Application Runtimeでは、Apache Tomcatを用いたJavaアプリケーションの実行環境を提供し、そのサポートサービスも行っています。
- Spring Boot対応: Spring Boot/Apache Tomcatの内部処理を見える化する独自トレース技術が組み込まれています。 [1, 2, 3]
なお、Webサーバとして有名な「Apache HTTP Server」そのものの同梱については、製品バージョンや構成によって異なる場合がありますが、アプリケーション実行基盤としてApache Tomcatが利用されています。
同梱されているApache Tomcatではなく、Apache Webサーバーで連携させたい場合はどのように構築しますか?
Cosminexus環境において、同梱されているApache Tomcat(バックエンド)と、外部のApache HTTP Server(フロントエンドのWebサーバー)を連携させる場合、主にリバースプロキシ機能またはリダイレクタ(AJP)を使用して構築します。 [1]日立が提供する日立製品マニュアルの記述に基づく、具体的な構築手順と構成方法は以下の通りです。
1. 連携方式の選定
- HTTP/HTTPS(mod_proxy_http):
- 推奨設定。 ApacheとTomcatの間を標準的なHTTPプロトコルで通信させる方式です。構築やトラブルシューティングが容易になります。
- AJP(mod_proxy_ajp):
- ApacheとTomcat間の通信に最適化されたバイナリプロトコル(AJP)を使用する方式です。Tomcat側のAJPコネクター(ポート8009など)に対してパケットを転送します。 [1]
2. Apache Webサーバー(フロントエンド)の設定① 必要モジュールの有効化(コメントアウトの解除)apacheLoadModule proxy_module modules/mod_proxy.so LoadModule proxy_http_module modules/mod_proxy_http.so # AJPを使用する場合は以下を有効化 # LoadModule proxy_ajp_module modules/mod_proxy_ajp.soコードは注意してご使用ください。② リバースプロキシ(転送ルール)の定義特定のコンテキストルート(例:/myapp)へのアクセスを、Cosminexus側のTomcatに転送するディレクティブを追記します。 [1]
- HTTP経由で連携する場合:
apacheProxyPass /myapp http://<TomcatのIPアドレス>:<HTTPポート>/myapp ProxyPassReverse /myapp http://<TomcatのIPアドレス>:<HTTPポート>/myappコードは注意してご使用ください。- AJP経由で連携する場合:
apacheProxyPass /myapp ajp://<TomcatのIPアドレス>:8009/myapp ProxyPassReverse /myapp ajp://<TomcatのIPアドレス>:8009/myappコードは注意してご使用ください。
3. Cosminexus / Tomcat(バックエンド)の設定Tomcatのサーバー設定ファイル(server.xmlなど)において、Apacheからのリクエストを受け付けるコネクター(Connector)が正しく有効化・リッスンしているか確認します。 [1]
- AJP連携を利用する場合の注意点:
Tomcatのセキュリティ仕様上、AJPコネクターを利用する際はsecretRequired="true"(認証シークレットの必須化)が適用されている場合があります。その場合はTomcat側でシークレット文字列を定義し、ApacheのProxyPass側にもsecret=xxxx属性を付与して一致させてください。
4. 運用・管理ツール(HCSM等)による統合設定Cosminexus V11等の統合プラットフォーム構成(Application Server)として構築している場合、運営管理コマンド(スマートセットアップ等)や管理GUIからWebサーバーの追加手続きを行います。 [1]
- Webサーバーの追加機能を利用し、連携方法として「リバースプロキシ」を選択して構築情報を登録します。これによって、論理Webサーバーとしてのライフサイクル管理(起動・停止・監視)がCosminexusの仕組みと同期できるようになります。 [1, 2]
さらに具体的な構築要件(例: SSLアクセラレーションの有無や負荷分散(ロードバランシング)の構成手順など)について詳しくお知りになりたい箇所はありますか?どのようなシステム構成を目指しているか教えていただければ、より絞り込んだ設定例を提示できます。
