すべてのプロダクト
Search
ドキュメントセンター

Certificate Management Service:Jetty サーバーに SSL 証明書をインストールする

最終更新日:Feb 26, 2025

Jetty サーバーに SSL 証明書をインストールして、サーバーにデプロイされている Web サービスへの HTTPS ベースのアクセスを有効にすることができます。このトピックでは、Jetty サーバーに SSL 証明書をインストールする方法について説明します。

重要

このトピックでは、Linux オペレーティングシステムを実行し、jetty-distribution-9.4.51.v20230217 に基づいてデプロイされた Jetty サーバーを例として使用して、インストールについて説明します。インストール操作は、サーバーとオペレーティングシステムのバージョンによって異なります。ご質問がある場合は、アカウントマネージャーにお問い合わせください

前提条件

  • 証明書は、SSL Certificates Service コンソールを使用して発行されます。詳細については、「SSL 証明書の購入」および「証明書を申請する」をご参照ください。

  • 証明書にバインドされているドメイン名で、ドメイン ネーム システム (DNS) の解決が完了しています。ドメイン名は正しく IP アドレスに解決されます。DNS 検証ツールを使用して、ドメイン名の DNS レコードが有効になっているかどうかを確認できます。ツールを使用するには、SSL Certificates Service コンソールにログインし、左側のナビゲーションウィンドウで [共通証明書ツール] > [DNS 設定の確認] を選択します。詳細については、「ドメイン名の DNS レコードを確認する」をご参照ください。

  • Web サーバーでポート 443 が有効になっています。ポート 443 は、HTTPS 通信に使用される標準ポートです。

    • Alibaba Cloud Elastic Compute Service( ECS )インスタンスを使用する場合は、ポート 443 での TCP アクセスを許可するようにセキュリティグループのインバウンドルールが構成されていることを確認してください。詳細については、「セキュリティグループルールの追加」をご参照ください。

    • サードパーティのクラウドサーバーまたはオンプレミスサーバーを使用する場合は、 TCP アクセスを許可するために、ファイアウォールまたはセキュリティグループでポート 443 が有効になっていることを確認してください。

  • 証明書がインストールされている Web サイトを中国本土にあるサーバーにデプロイする場合、工業情報化部( MIIT )の要件に従って、証明書にバインドされているドメイン名のインターネットコンテンツプロバイダー( ICP )登録を完了する必要があります。そうでない場合、Web サイトにアクセスできません。詳細については、「ICP 登録とは」をご参照ください。

手順 1:証明書をダウンロードする

  1. SSL Certificates Service コンソール にログインします。

  2. 左側のナビゲーションウィンドウで、[証明書の管理] > SSL 証明書の管理 を選択します。

  3. SSL 証明書管理 ページで、管理する証明書を見つけ、詳細操作 列の ダウンロード をクリックします。表示されるページで、 タブをクリックします。

  4. サーバータイプ 列で JKS を見つけ、ダウンロード操作 列でクリックします。

  5. ダウンロードした証明書パッケージを解凍します。

    次の表は、パッケージから抽出できるファイルについて説明しています。ファイルは、証明書の申請時に使用する証明書署名要求( CSR )の生成方法によって異なります。in

    [CSR 生成] パラメーターの値

    証明書パッケージから抽出されたファイル

    システム生成

    • JKS フォーマットの証明書ファイル: デフォルトでは、証明書ファイルの名前は 証明書 ID_証明書にバインドされているドメイン名 の形式になります。

    • TXT フォーマットのパスワードファイル: デフォルトでは、パスワードファイルの名前は 証明書フォーマット-パスワード フォーマットになります。

      重要

      証明書をダウンロードするたびに、新しいパスワードファイルが生成されます。パスワードは、ダウンロードした証明書に対してのみ有効です。

    手動で入力する

    • SSL Certificates Service コンソールで作成された CSR を指定した場合、ダウンロードした証明書パッケージから抽出された証明書ファイルは、[ CSR 生成] パラメーターを システム生成 に設定した場合に取得される証明書ファイルと同じです。

    • SSL Certificates Service コンソールで作成されていない CSR を指定した場合、ダウンロードした証明書パッケージから抽出できるのは PEM 証明書ファイルのみです。パスワードファイルまたは秘密鍵ファイルは抽出できません。証明書ツールキットを使用して、証明書ファイル、パスワードファイル、または秘密鍵ファイルを必要な形式に変換できます。証明書の形式を変換する方法の詳細については、「証明書の形式を変換する」をご参照ください。

手順 2:Jetty サーバーに証明書をインストールする

  1. 証明書を格納するために、Jetty のインストールディレクトリに cert ディレクトリを作成します。

    1. 次のコマンドを実行して、Jetty のインストールディレクトリに移動します。

      cd /usr/local/jetty # Jetty の実際のインストールディレクトリに基づいて値を指定します。

    2. 次のコマンドを実行して、cert ディレクトリを作成します。

      mkdir cert # cert という名前のディレクトリを作成します。

  2. 証明書ファイルを cert ディレクトリにアップロードします。

    説明

    PuTTY 、Xshell 、WinSCP などのリモートログインツールのファイルアップロード機能を使用してファイルをアップロードできます。Alibaba Cloud Elastic Compute Service( ECS )インスタンスにファイルをアップロードする方法の詳細については、「リモートデスクトップ接続または Windows アプリを使用して Windows インスタンスにファイルを転送する」または「Linux インスタンスにファイルをアップロードする」をご参照ください。

  3. Jetty の jetty-ssl.xml および jetty-ssl-context.xml 構成ファイルを開いて、証明書関連の設定を変更します。

    1. 次のコマンドを実行して、jetty-ssl-context.xml 構成ファイルを開きます。

      vim /usr/local/jetty/etc/jetty-ssl-context.xml
    2. jetty-ssl-context.xml 構成ファイルで、次のパラメーターを見つけて、コメントに基づいて設定を変更します。

      説明

      Jetty の以前のバージョンでは、証明書関連のパラメーターが jetty-ssl.xml 構成ファイルに格納されている場合があります。

      image.png

      <!-- 証明書ファイルの構成。cert/domain_name.jks を証明書ファイルの実際のパスに置き換えます。 -->
      <Set name="KeyStorePath">
          <Property name="jetty.sslContext.keyStoreAbsolutePath">
            <Default>
              <Property name="jetty.base" default="." />/<Property name="jetty.sslContext.keyStorePath" deprecated="jetty.keystore" default="cert/domain_name.jks"/>
            </Default>
          </Property>
        </Set>
        
        <!-- 証明書パスワードの構成。デフォルトパラメーターを jks-password.txt ファイルに含まれているパスワードに設定します。 -->
        <Set name="KeyStorePassword"><Property name="jetty.sslContext.keyStorePassword" deprecated="jetty.keystore.password" default="zf****c4"/></Set>
        
        <!-- 証明書キーストアタイプの構成。デフォルトパラメーターを使用している証明書キーストアのタイプに設定します。証明書が JKS 形式の場合は、デフォルトパラメーターを JKS に設定します。 -->
        <Set name="KeyStoreType"><Property name="jetty.sslContext.keyStoreType" default="JKS"/></Set>
        <Set name="KeyStoreProvider"><Property name="jetty.sslContext.keyStoreProvider"/></Set>
        
        <!-- デフォルトパラメーターを jks-password.txt ファイルに含まれているパスワードに設定します。 -->
        <Set name="KeyManagerPassword"><Property name="jetty.sslContext.keyManagerPassword" deprecated="jetty.keymanager.password" default="zf****c4"/></Set>
        
        <!-- cert/domain_name.jks を証明書ファイルの実際のパスに置き換えます。 -->
        <Set name="TrustStorePath">
          <Property name="jetty.sslContext.trustStoreAbsolutePath">
            <Default>
              <Property name="jetty.base" default="." />/<Property name="jetty.sslContext.trustStorePath" deprecated="jetty.truststore" default="cert/domain_name.jks"/>
            </Default>
          </Property>
        </Set>
        <!-- オプション。トランスポート層セキュリティ( TLS )プロトコルでサポートされている暗号スイートを指定します。ビジネス要件に基づいて、暗号スイートを指定するかどうかを決定できます。 -->
        <Set name="ExcludeCipherSuites">
          <Array type="String">
            <Item>SSL_RSA_WITH_DES_CBC_SHA</Item>
            <Item>SSL_DHE_RSA_WITH_DES_CBC_SHA</Item>
            <Item>SSL_DHE_DSS_WITH_DES_CBC_SHA</Item>
            <Item>SSL_RSA_EXPORT_WITH_RC4_40_MD5</Item>
            <Item>SSL_RSA_EXPORT_WITH_DES40_CBC_SHA</Item>
            <Item>SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA</Item>
            <Item>SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA</Item>
          </Array>
        </Set>
    3. jetty-ssl.xml 構成ファイルで次のパラメーターを見つけて、HTTPS サービスで使用されるポートを 443 に変更します。

      説明

      Jetty の以前のバージョンでは、HTTPS サービスポートの設定が jetty-https.xml ファイルに格納されている場合があります。

       <Set name="port"><Property name="jetty.ssl.port" deprecated="ssl.port" default="443" /></Set>
  4. Jetty のインストールディレクトリにある start.ini ファイルを開き、次のコンテンツをファイルに追加します。

    etc/jetty-ssl.xml
    etc/jetty-ssl-context.xml
    etc/jetty-https.xml
  5. Jetty のインストールディレクトリで、次のコマンドを実行して Jetty サービスを再起動します。

    ./bin/jetty.sh restart

手順 3:証明書がインストールされていることを確認する

証明書をインストールした後、証明書にバインドされているドメイン名にアクセスして、証明書がインストールされていることを確認できます。

https://yourdomain # yourdomain を証明書にバインドされているドメイン名に置き換えます。

アドレスバーに南京錠アイコンが表示されている場合、証明書はインストールされています。

image.png

説明

Error 404 が報告された場合、Jetty サーバーに Web アプリケーションがデプロイされていません。このエラーは、Jetty サーバーが起動されていないことを示すものではありません。

関連情報