HTTPSの設定

デフォルトでは、Contrastとエージェントの接続にHTTPが使用されています。必要に応じて、Contrastとエージェントの両方のトラフィックについて、HTTPSを追加するか、HTTPをHTTPSに置き換えます。これを行う方法は2つあります。

  • リバースプロキシ方式:ContrastのAJPコネクタを使用してプロキシの要求をリバースするように設定したContrastサーバに対して、Apache HTTPDやNGINXなどの標準Webサーバを使用します。

  • Contrast HTTPSコネクタ:指定したポートでHTTPS接続をリッスンするようにContrastを設定します。

リバースプロキシ方式でAJPを使用するには:

  1. ContrastサーバがAJPJプロトコルを使用して接続をリッスンするように設定します。テキストエディタで$CONTRAST_HOME/data/conf/server.propertiesファイルを開き、以下のオプションが設定されているか確認します。

    ajp.enabled=true
    ajp.port=8009
    ajp.secretRequired=true|false
    ajp.secret=somesecret

    ajp.portの設定を選択して、サーバが外部からの接続をリッスンするポートを反映させます。場合によっては、http.enabledおよびhttps.enabledオプションを無効にすることもあります。

    ajp.secret設定は、nullではなくゼロ以外の長さの値である必要があります。これは、secretRequiredfalseに設定されている場合は必要ありません。リクエストワーカは秘密のキーワードを持つ必要があります。これがない場合、リクエストは却下されます。ワーカが一致する値を提供できなかった場合、リクエストはsecretRequiredの設定にかかわらず却下されます。

  2. server.propertiesファイルを更新したら、Contrastサーバのサービスを再起動して変更を有効にします。

  3. フロントエンドサーバを設定するには、サーバのドキュメントで、AJPを使用するための設定手順を参照してください。ApacheとNGINXの手順については、以下のリンクも参考にしてください。

Contrast HTTPSコネクタを使用するには:

  1. 使用する証明書があることを確認します。証明書は、CA (認証局)署名証明書または自己署名証明書のいずれかです。

  2. Contrastで使用するために証明書を新しいJavaキーストア(JKS)にインポートします。既にキーストアがある場合は、このステップをスキップして、$CONTRAST_HOME/data/conf/sslディレクトリにキーストアを配置してください。

  3. 自己署名証明書およびキーストアを生成するには、以下のコマンドを実行します。組織に関する情報の入力が求められ、自己署名証明書を使用してキーストアが作成されます。

    $ jre/bin/keytool -genkey -keyalg RSA -alias contrast-server -keystore data/conf/ssl/contrast-server.jks -validity 365 -keysize 2048

    OpenSSLで証明書を生成するよりも、この方法を優先してください。より複雑なSSLの設定には、Contrastではリバースプロキシを使用することを推奨します。以下の項目で、ContrastサーバでSSLを有効にする手順を説明します。

  4. サードパーティプロバイダによって検証済のSSL証明書をインポートするには、新しいキーストアを生成します。

    $ jre/bin/keytool -genkey -alias contrast-server -keystore data/conf/ssl/contrast-server.jks
  5. キーストアを作成したら、サーバの証明書を新しいキーストアにインポートします。

    $ jre/bin/keytool -import -keystore data/conf/ssl/contrast-server.jks -storepass <keystore password> \
      -file <path to certificate> -alias <server hostname>
  6. また、キーストアに中間CA証明書のインポートが必要な場合もあります(これが必要であるかは、CAのドキュメントを参照してください)。プライベート認証局のサーバの場合は、キーストアに中間証明書とルートCA証明書が必要です。

    $ jre/bin/keytool -import -trustcacerts -alias <ca-name> -storepass <keystore password> \
      -file <path to ca or intermediate certificate>

    注記

    ContrastでSSL証明書を使用するには、証明書をパスフレーズで保護することはできません。

  7. キーストアの設定が完了したら、テキストエディタで$CONTRAST_HOME/data/conf/server.propertiesファイルを開き、以下のプロパティを更新してください。

    <port>、 <file>、 <password>、 <hostname> をそれぞれ、keytoolコマンドで指定したポート、JKSファイルのパス、パスワード、ホスト名のエイリアスに置き換えてください。

    https.enabled=true
    https.port=<port to listen for https connections on>
    https.keystore.file=<file>
    https.keystore.pass=<password>
    https.keystore.alias=<hostname>

    重要

    Windowsを使用している場合は、JKSファイルへのフルパスをエスケープする必要があります。例えば、以下のようになります。

    https.keystore.file=C:\\Program\ Files\\Contrast\\data\\conf\\ssl\\contrast-server.jks

    http.enabledおよびajp.enabledオプションをfalseに設定し、HTTPS経由で行われた接続のみをContrastサーバで許可するようにすると便利です。

  8. server.propertiesを更新したら、Contrastサーバのサービスを再起動し、設定したHTTPSポートでリッスンされているか確認してください。

  9. $CONTRAST_HOME/data/conf/general.propertiesファイルを開き、teamserver.urlプロパティの値を編集して変更を反映します。この変更を行った後、一度エージェントを手動で更新する必要があります。それ以降のエージェントに対する更新は、自動的に行われます。

    注記

    Contrast .NETエージェントが、自己署名証明書を使用するContrastアプケーションに接続するためには、追加の設定が必要です。