Sun Java System Message Queue 3.7 UR1 管理ガイド

手順 3: HTTPS トンネルサーブレットを配備する

HTTP トンネルサーブレットは、Sun Java System Web Server または Sun Java System Application Server に、Web アーカイブ (WAR) ファイルとして配備できます。

HTTPS トンネルサーブレットを .war ファイルとして配備するときは、Web サーバーまたはアプリケーションサーバーで提供される配備メカニズムを使用します。HTTPS トンネルサーブレットの .war ファイル (imqhttps.war ) は、オペレーティングシステムによって異なるディレクトリに格納されています (付録 A 「プラットフォームごとの Message QueueTM データの場所」を参照)。

Web サーバーで暗号化がアクティブであり、クライアントとブローカの間で終端間の安全な通信が有効であることを確認してください。

Web アーカイブファイルとして配備する

Sun Java System Web Server への配備については、「HTTPS トンネルサーブレットを Sun Java System Web Server に配備する」を参照してください。

Sun Java System Application Server への配備については、「HTTPS トンネルサーブレットを Message Queue Application Server に配備する」を参照してください。

HTTPS トンネルサーブレットを Sun Java System Web Server に配備する

この節では、HTTPS トンネルサーブレットを Message Queue Web Server に .war ファイルとして配備する方法について説明します。Web ブラウザを使用してサーブレットの URL にアクセスすると、HTTPS トンネルサーブレットが問題なく配備されたことが確認できます。ステータス情報も表示されます。

HTTPS トンネルサーブレットを配備する前に、JSSE .jar ファイルが Web サーバーのクラスパスに含まれていることを確認します。これを確実にするもっとも簡単な方法は、jsse.jarjnet.jar、および jcert.jarWebServer_TOPDIR/bin/https/jre/lib/ext にコピーすることです。

ProcedureHTTPS トンネルサーブレットを .war ファイルとして配備する

  1. ブラウザベースの管理 GUI で、「Virtual Server Class」タブを選択します。「Manage Classes」をクリックします。

  2. 適切な仮想サーバークラス名 (defaultClass など) を選択して、「Manage」ボタンをクリックします。

  3. 「Manage Virtual Servers」を選択します。

  4. 適切な仮想サーバー名を選択し、「Manage」ボタンをクリックします。

  5. 「Web Applications」タブを選択します。

  6. 「Deploy Web Application」をクリックします。

  7. 「WAR File On」フィールドおよび「WAR File Path」フィールドで、修正済みの imqhttps.war ファイルを指す適切な値を選択します (「手順 2: HTTP トンネルサーブレットの .war ファイルの記述子ファイルを変更する」を参照)。)

  8. 「Application URI」フィールドにパスを入力します。

    「Application URI」フィールドの値は、トンネルサーブレット URL の /contextRoot 部分です。

    https://hostName :portNumber / contextRoot/tunnel

    たとえば、contextRootimq に設定した場合、「Application URI」フィールドは次のようになります。

    /imq

  9. サーブレットを配備するインストールディレクトリのパス (通常は、Message Queue Web Server インストールルートの内の場所) を入力します。

  10. 「OK」をクリックします。

  11. Web サーバーインスタンスを再起動します。

    サーブレットは次の URL で利用可能となります。


    https://hostName:portNumber/imq/tunnel

    クライアントはこの URL を使用することで、安全な HTTPS 接続を使ってメッセージサービスに接続できます。

サーバーのアクセスログを無効にする

必ずしもサーバーのアクセスログを無効にする必要はありませんが、無効にしたほうがより良いパフォーマンスを得ることができます。

Procedureサーバーのアクセスログを無効にする

  1. 「Status」タブを選択します。

  2. 「Log Preferences Page」を選択します。

    Log クライアントアクセス制御を使用して、ロギングを無効にします。

HTTPS トンネルサーブレットを Message Queue Application Server に配備する

この節では、HTTPS トンネルサーブレットを Message Queue Application Server に .war ファイルとして配備する方法について説明します。

2 段階の手順が必要です。

配備ツールを使用する

HTTPS トンネルサーブレットを Application Server 環境に配備する手順を次に示します。

ProcedureHTTPS トンネルサーブレットを Application Server 環境に配備する

  1. Web ベースの管理 GUI で、次を選択します。

    「App Server」>「Instances」>「server1」>「Applications」>「Web Applications」

  2. 「Deploy」ボタンをクリックします。

  3. 「File Path:」テキストフィールドに、HTTPS トンネルサーブレットの .war ファイル (imqhttps.war) の場所を入力し、「OK」をクリックします。

    imqhttps.war ファイルの場所は、オペレーティングシステムによって異なります (付録 A 「プラットフォームごとの Message QueueTM データの場所」を参照)。

  4. 「Context Root」テキストフィールドの値を設定し、「OK」をクリックします。

    「Context Root 」フィールドの値は、トンネルサーブレット URL の /contextRoot 部分です。

    https://hostName :portNumber / contextRoot/tunnel

    たとえば、「Context Root」フィールドは次のように設定できます。

    /imq

    次の画面で、トンネルサーブレットが正常に配備され、デフォルトで有効になっており、この場合は次の場所に格納されていることが表示されます。


    /var/opt/SUNWappserver8/domains/domain1/server1/applications/
    j2ee-modules/imqhttps_1

    サーブレットは次の URL で利用可能となります。


    https://hostName:portNumber/
    contextRoot/tunnel

    クライアントはこの URL を使用することで、HTTPS 接続を使ってメッセージサービスに接続できます。

server.policy ファイルを変更する

Application Server は、セキュリティーポリシーが変更されていないかぎり、強制的にデフォルトのセキュリティーポリシーセットを適用し、HTTPS トンネルサーブレットが Message Queue ブローカからの接続を受け入れるのを阻止します。

各アプリケーションサーバーインスタンスには、セキュリティーポリシーまたはルールを含むファイルがあります。たとえば、Solaris 上の server1 インスタンスのこのファイルは次の場所にあります。

/var/opt/SUNWappserver8/domains/domain1/server1/config/
server.policy

トンネルサーブレットに Message Queue ブローカからの接続を受け入れさせるには、このファイルにエントリを追加する必要があります。

Procedureアプリケーションサーバーの server.policy ファイルを変更する

  1. server.policy ファイルを開きます。

  2. 次のエントリを追加します。


    grant codeBase
    "file:/var/opt/SUNWappserver8/domains/domain1/server1/
                    applications/j2ee-modules/imqhttps_1/-”
    {
            permission java.net.SocketPermission "*",
                    “connect,accept,resolve";
    };