HTTPS/SSL モードで稼働するための Jetty 8.1.3 の構成

HTTPS/SSL モードで稼働するように Jetty を構成するには、以下のステップを実行します。

手順

  1. 鍵ストアを生成します。

    JRE_HOME/bin ディレクトリーから次のコマンドを実行します。

    keytool -genkey -keystore "$JETTY_HOME/etc/rc.keystore" -alias angler -keyalg RSA

    このコマンドには、証明書に関する情報と、鍵ストアおよびその内部の鍵の両方を保護するためのパスワードが必要です。 Rational® Change サーバー URL から、hostname を指定する必要があります。 デフォルトでは、Rational Change 5.2 以降は、生成された URL における hostname のマシンの IP アドレスを使用するようにセットアップされています。 生成されたリンクが 192.168.10.10 を使用する場合は、"first and last name" プロンプトでこの値を入力します。 こうすると、鍵が当該 Web サイトの URL に確実に発行されます。これにより、鍵とサイト名が一致しないというエラー・メッセージがブラウザーで表示されないようになります。

    例:

    Enter keystore password: choose a password
    What is your first and last name?
    [Unknown]: 192.168.10.10
    What is the name of your organizational unit?
    [Unknown]: Development
    What is the name of your organization?
    [Unknown]: Rational
    What is the name of your City or Locality?
    [Unknown]:
    What is the name of your State or Province?
    [Unknown]:
    What is the two-letter country code for this unit?
    [Unknown]:
    Is CN=192.168.10.10, OU=Development, O=Rational, L=Unknown,
    ST=Unknown, C=Unknown correct?
    [no]: yes
    
    Enter key password for
    (RETURN if same as keystore password): choose a password
  2. jetty.xml および jetty-ssl.xml ファイルを開きます。これらのファイルは、JETTY_HOME/etc ディレクトリーにあります。
  3. jetty.xml ファイルで、以下の行をコメント化または削除します。

    jetty.xml ファイルでは、SelectChannelConnector の代わりに SslSelectChannelConnector を使用する必要があります。

    <Call name="addConnector">
    <Arg>
    <New class="org.eclipse.jetty.server.nio.SelectChannelConnector>
    <Set name="host"><Property name="jetty.host" /></Set>
    <Set name="port"><Property name="jetty.port" default="1111"/></Set>
    <Set name="maxIdleTime">300000</Set>
    <Set name="Acceptors"></Set>
    <Set name="statsOn">false</Set>
    <Set name="confidentialPort">8443</Set>
    <Set name="lowResourcesConnections">20000</Set>
    <Set name="lowResourcesMaxIdleTime">5000</Set>
    </New>
    </Arg>
    </Call>
  4. jetty-ssl.xml ファイルで、以下のような行を見つけ、これらの行を jetty.xml ファイルに貼り付けます。
    <New id="sslContextFactory" class="org.eclipse.jetty.http.ssl.SslContextFactory">
    <Set name="KeyStore"><Property name="jetty.home" default="." />/etc/keystore</Set>
    <Set name="KeyStorePassword">OBF:1xxx1so1x6e1ppp1yu61x2g1z6u1op9</Set>
    <Set name="KeyManagerPassword">OBF:1x2u1nnl5z1c5s7g1ggl1u9t</Set>
    <Set name="TrustStore"><Property name="jetty.home" default="." />/etc/keystore</Set>
    <Set name="TrustStorePassword">OBF:3uus1elo8x3e1kle1gs34x8t1z4u1lp8</Set>
    </New>
    
    <Call name="addConnector">
    <Arg>
    <New class="org.eclipse.jetty.server.ssl.SslSelectChannelConnector">
    <Arg><Ref id="sslContextFactory" /></Arg>
    <Set name="Port">8443</Set>
    <Set name="maxIdleTime">30000</Set>
    <Set name="Acceptors">2</Set>
    <Set name="AcceptQueueSize">100</Set>
    </New>
    </Arg>
    </Call>
    重要:

    属性 KeyStoreKeyStorePasswordKeyManagerPasswordTrustStoreTrustStorePassword、および Port に正しい値が指定されていることを確認してください。

    プロパティー <Property name="jetty.home" default="." /> は使用しないでください。JETTY_HOME の絶対パスを指定する必要があります。

  5. Rational Change 5.3.1 以降で SP800-131A の要件をサポートするには、jetty.xml ファイルに <Set name="protocol">TLSv1.2</Set> タグを追加します。
    <New id="sslContextFactory" class="org.eclipse.jetty.http.ssl.SslContextFactory">
    <Set name="KeyStore"><Property name="jetty.home" default="." />/etc/keystore</Set>
    <Set name="KeyStorePassword">OBF:1xxx1so1x6e1ohp1yu61x5g2z6u1op8</Set>
    <Set name="KeyManagerPassword">OBF:1x4u1nnl6z1c5t7g1ffl1u9t</Set>
    <Set name="TrustStore"><Property name="jetty.home" default="." />/etc/keystore</Set>
    <Set name="TrustStorePassword">OBF:3uuk1wlo5x3e4kle1gs35x8t4z4r1lp8</Set>
    <Set name="protocol">TLSv1.2</Set>
    </New>
  6. JETTY_HOME/webapps/context/WEB-INF/ ディレクトリーの web.xml ファイルを開きます。

    httphttps に変更し、必要に応じてポート番号を変更します。

    <context-param>
    <param-name>protocol</param-name>
    <param-value>http</param-value>
    </context-param>
    <context-param>
    <param-name>port</param-name>
    <param-value>8600</param-value>
    </context-param>
  7. Rational Change 管理セッションを開始して「システム管理」 > 「一般」タブに移動し、「ヘルプ・サーバーの URL」タブが https になっていることを確認します。
  8. セントラルからリモートへの構成を使用する場合、セントラル・サーバー・モードにおいてサーバー間で HTTPS を使用するようにシステムを構成します
  9. Solaris の場合、JETTY_HOME/bin/ ディレクトリーの jetty.sh ファイルに以下のラインを追加します。

    JAVA_OPTIONS="-Djetty.home=$JETTY_HOME -Djetty.log=$JETTY_LOG -Djava.protocol.handler.pkgs=com.ibm.net.ssl.www2.protocol -Xms128m -Xmx512m -server $JAVA_OPTIONS"


フィードバック