Apacheでマルチドメイン証明書で複数のSSLサイトを構成する
Apacheで1つのIPアドレスにマルチドメイン証明書を設定して、
複数のSSLサイトを構築することができます。
注意:Apache 2.4.7以前のバージョンをご利用の方
サーバ証明書と中間CA証明書の保存、指定ディレクティブが違います。 必ずApache 2.4.7以前のバージョンのマニュアルをご参照下さい。
■ステップ1 現在の構成状態が下記のとおりであると仮定して作業を進めます
ホスト名 | ポート | IPアドレス |
---|---|---|
www.yourdomain.com | 443 | 1.2.3.4 |
www2.yourdomain.co.jp | 443 | 1.2.3.4 |
www3.yourdomain.net | 443 | 1.2.3.4 |
■ステップ2 対象サイトにサーバ証明書を設定する
ssl.confなどの設定を変更する前に、必ずバックアップを保存して下さい。# cp ssl.conf ssl.conf_20130219.backup
[設定例]
NameVirtualHost 1.2.3.4:443
<VirtualHost 1.2.3.4:443>
DocumentRoot /var/www/domain1/
ServerName www.yourdomain.com
SSLEngine on
SSLProtocol all
SSLCertificateFile /etc/httpd/conf/ssl.crt/2018www.yourdomain.co.jp.crt
SSLCertificateKeyFile /etc/httpd/conf/ssl.key/2018www.yourdomain.co.jp.key
<Directory "/var/www/domain1/">
</Directory>
ErrorLog /var/www/domain1/logs/error_log
</VirtualHost>
<VirtualHost 1.2.3.4:443>
DocumentRoot /var/www/domain2/
ServerName www2.yourdomain.co.jp
SSLEngine on
SSLProtocol all
SSLCertificateFile /etc/httpd/conf/ssl.crt/2018www.yourdomain.co.jp.crt
SSLCertificateKeyFile /etc/httpd/conf/ssl.key/2018www.yourdomain.co.jp.key
<Directory "/var/www/domain2/">
</Directory>
ErrorLog /var/www/domain2/logs/error_log
</VirtualHost>
<VirtualHost 1.2.3.4:443>
DocumentRoot /var/www/domain3/
ServerName www3.yourdomain.net
SSLEngine on
SSLProtocol all
SSLCertificateFile /etc/httpd/conf/ssl.crt/2018www.yourdomain.co.jp.crt
SSLCertificateKeyFile /etc/httpd/conf/ssl.key/2018www.yourdomain.co.jp.key
<Directory "/var/www/domain3/">
</Directory>
ErrorLog /var/www/domain3/logs/error_log
</VirtualHost>
- 上記の設定例は一例であり、ご利用のサーバのApacheの構築環境に応じて適切な設定に置換えて下さい。
- IPアドレスがひとつの場合や動的に取得している場合は*:443で全てのIPアドレスにマッチさせることが可能です。
- IPベースの場合は<VirtualHost 1.2.3.4:443>のIPアドレスを個々に設定してください。
- IPベースの場合はNameVirtualHost は不要です。
■ステップ3 Apacheの停止・起動
設定の編集が完了しましたら、ssl.confを上書き保存して、Apacheを停止・起動して下さい。
apachectl stop
apachectl startssl
【ご注意】
この文書に記載されている情報は予告なしに変更されることがあります。 この文書に記載されている情報に従ってユーザが操作を行い、いかなる損害を被ろうとも、当社は一切の責任を負いません。 また、ユーザは自己の責任において使用する事に同意したものとみなされます。