ApacheサーバーへのSSL証明書のインストール
ApacheサーバーにSSL証明書をインストールすることで、ApacheサーバーでHTTPSによる安全なアクセスをサポートできます。この記事では、ApacheサーバーにSSL証明書をインストールする方法について説明します。
説明
本ドキュメントではApacheバージョンを Apache/2.4.6 として例示しています。
インストール前に443番ポートが使用されていないことを確認してください。443番ポートが既に使用されている場合は、証明書のインストール時に他のポートをバインドしてください。
証明書の取得
- 弊社が証明書を発行した後、証明書ファイル(.zip)の圧縮形式で提供します。圧縮パッケージ内にはTomcat、Nginx、IIS、Apacheの4種類の証明書形式に対応する4つのフォルダがあり、ApacheサーバーではApacheフォルダ内の証明書を使用する必要があります。
- Apacheフォルダには以下の3つのファイルが含まれています。
domain_com.crt証明書ファイルdomain_com.key秘密鍵ファイルdomain_com.ca-bundle証明書チェーンファイル
SSL証明書のインストール
- 取得した
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となっている場合もあります。
/etc/httpd/confディレクトリ配下のhttpd.conf設定ファイルを確認し、Include conf.modules.d/*.conf設定ステートメントを探して、コメントアウトされていないことを確認します。コメントアウトされている場合は、行頭のコメント記号(#)を削除し、設定ファイルを保存してください。/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 コマンドを実行してインストールできます。
/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>
- 設定ファイルを保存した後、Apacheサーバーを再起動します。
SSL証明書のテスト
ブラウザのアドレスバーにSSL証明書をバインドしたドメインを入力し、SSL証明書が正常にインストールされたかテストしてください。正常にインストールされている場合、ブラウザのアドレスバーに錠前の安全アイコンが表示され、クリックすると証明書情報を確認できます。

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