HTTPSの設定

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

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

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

Use the Contrast HTTPS Connector

Use these steps to create a Java KeyStore (JKS), with a signed certificate, that your on-premises Contrast application server will use at runtime.

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

    keytool -genkeypair -alias contrast-server -keyalg RSA -keystore contrast.jks
  2. Generate a Certificate Signing Request (CSR) (contrast.csr). You can add DNS or IP fields as needed to include these as Subject Alternative Names on the certificate.

    keytool -certreq -alias contrast-server -file contrast.csr -keystore contrast.jks -ext san=dns:your_hostname.your_company.com,ip:10.0.0.1
  3. Send the resulting CSR file to your CA. The CA will provide you with either multiple PEM files or a single PCKS #7 file.

  4. Import the file(s) into the Java KeyStore. Use these instructions depending on the file type you receive.

    注記

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

    • Multiple PEM files: These files have extensions of .CRT or .PEM (PEM files open as readable text). One file contains the certificate, while the others contain the root and possibly one or more intermediate certificates. 

      The certificates must be imported into the KeyStore in a top-down order, with the server certificate itself being imported last. The server certificate should have the same alias used when the KeyStore was created.  For example, if you were provided with root.cerinter.cer and server.cer, you should import them as:

      keytool -import -trustcacerts -alias root -file root.cer -keystore contrast.jks
      keytool -import -trustcacerts -alias intermediate -file inter.cer -keystore contrast.jks
      keytool -import -trustcacerts -alias contrast-server -file server.cer -keystore contrast.jks
    • Single PCKS #7 file: This file has an extension of .P7B, .CER or possibly .CRT. This file contains the server certificate bundled with all necessary root and intermediate certificates. The server certificate should have the same alias used when the KeyStore was created. For example, for a file certificate.p7b, import it as:

      keytool -import -trustcacerts -alias contrast-server -file certificate.p7b -keystore contrast.jks 

    注記

    If you retrieve your certificates through another method, you may need to create a keystore differently. For example, if you end up with a:

    • server.crt,priv.key and inter.crt files: Convert the files to a PKCS #12 and create a keystore using these commands.

      openssl pkcs12 -export -out cert.pfx -inkey priv.key -in server.crt -certfile inter.crt -name "contrast-server"
      keytool -importkeystore -srckeystore cert.pfx -srcstoretype pkcs12 -destkeystore contrast.jks -deststoretype jks
    • PKCS #12 file: Create a keystore with this command.

      keytool -importkeystore -srckeystore cert.pfx -srcstoretype pkcs12 -destkeystore contrast.jks -deststoretype jks
  5. キーストアの設定が完了したら、テキストエディタで$CONTRAST_HOME/data/conf/server.propertiesファイルを開き、以下のプロパティを更新してください。

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

    https.enabled=true
    https.port=<port>
    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サーバで許可するようにすると便利です。

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

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

注記

It is also possible to use the HTTPS connector with a self-signed certificate.

Use the reverse proxy method

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

  1. ContrastサーバがAJPプロトコルを使用して接続をリッスンするように設定します。テキストエディタで$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の手順については、以下のリンクも参考にしてください。