このトピックでは、証明書ファイルのダウンロードとアップロード、サーバーでの関連パラメーターの構成、インストール結果の検証など、CentOS を実行する Tomcat 8.5 または 9.0 サーバーに SSL 証明書をインストールする方法について説明します。パラメーターは、証明書ファイルとパスワードファイルに関連しています。証明書がインストールされると、HTTPS 経由で Tomcat サーバーにアクセスできるようになり、データ転送のセキュリティが確保されます。
準備
オペレーティングシステム:64 ビット CentOS 7.6
Web サーバー:Tomcat 8.5 または Tomcat 9.0
Tomcat サーバーに Java 開発キット ( JDK ) がインストールされ、環境変数が構成されていることを確認してください。推奨される JDK と互換性のある構成は、Tomcat の公式 Web サイトで確認できます。
前提条件
証明書は、証明書管理サービスコンソールを使用して発行されます。詳細については、「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:証明書をダウンロードする
証明書管理サービスコンソール にログインします。
左側のナビゲーションウィンドウで、 を選択します。
SSL 証明書管理 ページで、管理する証明書を見つけ、詳細操作 列の ダウンロード をクリックします。表示されたページで、 タブをクリックします。
サーバータイプ 列で Tomcat を見つけ、操作 列の ダウンロード をクリックします。
ダウンロードした証明書パッケージを解凍します。
次の表は、パッケージから抽出できるファイルについて説明しています。ファイルは、証明書の申請を送信するときに使用する証明書署名要求 ( CSR ) の生成方法によって異なります。
[ CSR の生成] パラメーターの値
証明書パッケージから抽出されたファイル
システム生成
PFX 形式の証明書ファイル: デフォルトでは、証明書ファイルの名前は 証明書 ID_証明書にバインドされているドメイン名 形式になります。
TXT 形式のパスワードファイル: デフォルトでは、パスワードファイルの名前は 証明書形式-パスワード 形式になります。
重要証明書をダウンロードするたびに、新しいパスワードファイルが生成されます。パスワードは、ダウンロードした証明書に対してのみ有効です。
手動で入力する
証明書管理サービスコンソールで作成された CSR を指定した場合、ダウンロードした証明書パッケージから抽出された証明書ファイルは、[ CSR の生成] パラメーターを システム生成 に設定した場合のシナリオで取得された証明書ファイルと同じです。
証明書管理サービスコンソールで作成されていない CSR を指定した場合、ダウンロードした証明書パッケージから抽出できるのは PEM 証明書ファイルのみです。パスワードファイルまたは秘密鍵ファイルは抽出できません。証明書ツールキットを使用して、証明書ファイル、パスワードファイル、または秘密鍵ファイルを必要な形式に変換できます。証明書形式の変換方法の詳細については、「証明書の形式を変換する」をご参照ください。
手順 2:Tomcat サーバーに証明書をインストールする
抽出した証明書ファイルとパスワードファイルを Tomcat サーバーの conf ディレクトリにアップロードします。
説明PuTTY、Xshell、WinSCP などのリモートログインツールのファイルアップロード機能を使用してファイルをアップロードできます。Alibaba Cloud Elastic Compute Service ( ECS ) インスタンスにファイルをアップロードする方法の詳細については、「リモートデスクトップ接続または Windows アプリを使用して Windows インスタンスにファイルを転送する」または「Linux インスタンスにファイルをアップロードする」をご参照ください。
Tomcat のルートインストールディレクトリで次のコマンドを実行して、server.xml ファイルを開きます。
sudo vim ./conf/server.xml
server.xml ファイルで次の設定項目を見つけて、次の構成例に基づいて設定を構成します。
設定項目 1
構成例
<!-- redirectPort をデフォルトの SSL ポート 443 に変更します。これにより、HTTPS リクエストはポート 443 に転送されます。 --> <Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="443" maxParameterCount="1000" />
設定項目 2
構成例 (<! と > のコメント記号は削除する必要があります。)
<!-- Tomcat サーバーのデフォルトの HTTPS ポートをポート 443 に変更します。ドメイン名のみを使用してポート 8443 にアクセスすることはできません。ポート 8443 にアクセスするには、ポート番号をドメイン名に追加する必要があります。 --> <!-- ポート 443 はデフォルトの HTTPS ポートであり、ドメイン名のみを使用してアクセスできます。ポート番号をドメイン名に追加する必要はありません。 --> <!-- Connector ポートの NIO 実行モードを指定します。Connector ポートは APR 実行モードもサポートしています。 --> <Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="150" SSLEnabled="true" maxParameterCount="1000" > <SSLHostConfig> <!-- 値を証明書ファイルのパスに変更し、証明書ファイルのパスワードを指定します。 --> <Certificate certificateKeystoreFile="conf/xxx.pfx" certificateKeystorePassword="xxxxxx" type="RSA" /> </SSLHostConfig> </Connector>
設定項目 3
構成例 (<! と > のコメント記号は削除する必要があります。)
<!-- redirectPort を 443 に変更します。これにより、HTTPS リクエストはポート 443 に転送されます。 --> <Connector protocol="AJP/1.3" address="::1" port="8009" redirectPort="443" maxParameterCount="1000" />
オプション。 HTTP リクエストを HTTPS リクエストに自動的にリダイレクトするように、/conf/web.xml ファイルの設定を構成します。
Tomcat のルートインストールディレクトリで次のコマンドを実行して、web.xml ファイルを開きます。
sudo vim ./conf/web.xml
次の設定項目を web.xml ファイルに追加します。
<security-constraint> <web-resource-collection > <web-resource-name >SSL</web-resource-name> <url-pattern>/*</url-pattern> </web-resource-collection> <user-data-constraint> <transport-guarantee>CONFIDENTIAL</transport-guarantee> </user-data-constraint> </security-constraint>
Tomcat サーバーの bin ディレクトリで次のコマンドを実行して、Tomcat サービスを再起動します。
./shutdown.sh # Tomcat サービスを停止します。 ./startup.sh # Tomcat サービスを開始します。
手順 3:証明書がインストールされているかどうかを確認する
証明書をインストールした後、証明書にバインドされているドメイン名にアクセスして、証明書がインストールされているかどうかを確認できます。
https://yourdomain # yourdomain を証明書にバインドされているドメイン名に置き換えます。
アドレスバーにロックアイコンが表示されている場合、証明書はインストールされています。