メインコンテンツまでスキップ

ApacheサーバーへのSSL証明書のインストール

ApacheサーバーにSSL証明書をインストールすることで、ApacheサーバーでHTTPSによる安全なアクセスをサポートできます。この記事では、ApacheサーバーにSSL証明書をインストールする方法について説明します。

説明

本ドキュメントではApacheバージョンを Apache/2.4.6 として例示しています。 インストール前に443番ポートが使用されていないことを確認してください。443番ポートが既に使用されている場合は、証明書のインストール時に他のポートをバインドしてください。

証明書の取得

  1. 弊社が証明書を発行した後、証明書ファイル(.zip)の圧縮形式で提供します。圧縮パッケージ内にはTomcat、Nginx、IIS、Apacheの4種類の証明書形式に対応する4つのフォルダがあり、ApacheサーバーではApacheフォルダ内の証明書を使用する必要があります。
  2. Apacheフォルダには以下の3つのファイルが含まれています。
  • domain_com.crt 証明書ファイル
  • domain_com.key 秘密鍵ファイル
  • domain_com.ca-bundle 証明書チェーンファイル

SSL証明書のインストール

  1. 取得した domain_com.crt 証明書ファイル、domain_com.key 秘密鍵ファイル、domain_com.ca-bundle 証明書チェーンファイルをローカルディレクトリからApacheサーバーの /etc/httpd/ssl ディレクトリにコピーします。
説明
  • /etc/httpd/ssl ディレクトリが存在しない場合は、mkdir -p /etc/httpd/ssl コマンドで作成できます。
  • バージョンによって異なる場合があり、Apacheのディレクトリが /etc/apache2 となっている場合もあります。
  1. /etc/httpd/conf ディレクトリ配下の httpd.conf 設定ファイルを確認し、Include conf.modules.d/*.conf 設定ステートメントを探して、コメントアウトされていないことを確認します。コメントアウトされている場合は、行頭のコメント記号(#)を削除し、設定ファイルを保存してください。
  2. /etc/httpd/conf.modules.d ディレクトリ配下にある 00-ssl.conf 設定ファイルを確認し、LoadModule ssl_module modules/mod_ssl.so 設定文を探して、当該設定文がコメントアウトされていないことを確認してください。コメントアウトされている場合は、行頭のコメント記号(#)を削除して設定ファイルを保存してください。
説明

上記の設定ファイル内に LoadModule ssl_module modules/mod_ssl.so が見つからない場合は、mod_ssl.so モジュールがインストールされているかどうかを確認してください。mod_ssl.so モジュールがインストールされていない場合は、yum install mod_ssl コマンドを実行してインストールできます。

  1. /etc/httpd/conf.d ディレクトリ配下にある ssl.conf 構成ファイルを編集します。以下の内容を変更してください:
<VirtualHost *:443>
DocumentRoot /var/www/html
#启用 SSL 功能
SSLEngine on
#证书文件的路径
SSLCertificateFile /etc/httpd/ssl/domain_com.crt
#私钥文件的路径
SSLCertificateKeyFile /etc/httpd/ssl/domain_com.key
#证书链文件的路径
SSLCertificateChainFile /etc/httpd/ssl/domain_com.ca-bundle
</VirtualHost>
  1. 設定ファイルを保存した後、Apacheサーバーを再起動します。

SSL証明書のテスト

ブラウザのアドレスバーにSSL証明書をバインドしたドメインを入力し、SSL証明書が正常にインストールされたかテストしてください。正常にインストールされている場合、ブラウザのアドレスバーに錠前の安全アイコンが表示され、クリックすると証明書情報を確認できます。

SSL証明書の表示

HTTPからHTTPSへの自動リダイレクトのセキュリティ設定(任意)

HTTPリクエストを自動的にHTTPSにリダイレクトさせたい場合は、以下の手順で設定できます:

  1. /etc/httpd/conf ディレクトリ配下にある httpd.conf 設定ファイルを編集します。設定ファイル内に LoadModule rewrite_module modules/mod_rewrite.so の記述が存在するか確認してください。 存在する場合は、先頭のコメント記号(#)を削除してください。存在しない場合は、 LoadModule rewrite_module modules/mod_rewrite.so の行を追加してから設定ファイルを保存してください。
  2. http.confファイルを開き、設定ファイルに以下の内容を追加します:
<VirtualHost *:80>
# 新增
RewriteEngine on
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^(.*)?$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]
</VirtualHost>
  1. Apacheサーバーを再起動すると、ドメイン名でアクセスできるようになり、HTTPからHTTPSへの自動リダイレクトが実現されます。