Apacheで1つのIPアドレスにマルチドメイン証明書を設定して、 複数のSSLサイトを構築することができます。

注意:Apache 2.4.8以降のバージョンをご利用の方
サーバ証明書と中間CA証明書の保存、指定ディレクティブが違います。 必ずApache 2.4.8以降のバージョンのマニュアルをご参照下さい。


■ステップ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/multidomain_2103.crt
   SSLCertificateKeyFile /etc/httpd/conf/ssl.key/multidomain_2103.key
   SSLCertificateChainFile /etc/httpd/conf/ssl.crt/multidomain_2103.ca
   <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/multidomain_2103.crt
   SSLCertificateKeyFile /etc/httpd/conf/ssl.key/multidomain_2103.key
   SSLCertificateChainFile /etc/httpd/conf/ssl.crt/multidomain_2103.ca
   <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/multidomain_2103.crt
   SSLCertificateKeyFile /etc/httpd/conf/ssl.key/multidomain_2103.key
   SSLCertificateChainFile /etc/httpd/conf/ssl.crt/multidomain_2103.ca
   <Directory "/var/www/domain3/">

   </Directory>
   ErrorLog /var/www/domain3/logs/error_log
</VirtualHost>


■ステップ3 Apacheの停止・起動

設定の編集が完了しましたら、ssl.confを上書き保存して、Apacheを停止・起動して下さい。

apachectl stop
apachectl startssl