Apache2.4は、SNI(複数のSSL証明書)に対応してる

apache logo Apache

 

Let’s Encrypt を使って、同じサーバで複数のドメインを公開したことはある。以下みたいな環境

  •  Docker + jwilder/nginx-proxy + Let’s Encriypt
  • Apache2.4 + Let’s Encrypt

 

仕事で、同じApacheで複数のSSL証明書を取り扱えるか。=マルチドメインSSL証明書 を使わなくてもいいのか?

という話が出た。それについてググったのでメモ。

 

 

結論:今どきは、同サーバでの複数SSL証明書 に対応しているから気にしなくて大丈夫

 

名前ベースのバーチャルホストでSSLを使う(SNI)
TLS拡張(RFC4366)仕様の一つ Server Name Indication(SNI)によって名前ベースのバーチャルホストでもSSLが使えますが、そもそもなぜ、名前ベースのバーチャルホストでSSLが使えないのかその理由と、SNIの仕

SNIを使える条件
Apache 2.2.12以降
OpenSSL 0.9.8j以降
ブラウザがSNIに対応

ApacheとOpenSSLはこれより古いのを搭載しているってことは無いと思うので、問題なし。

気になるのはブラウザだけど、フィーチャーフォンとか、サポートの切れたような古いWebブラウザをサイトのサポート対象に入れなければ、たいてい大丈夫。

 

設定方法

 

apacheへの設定方法だが、apacheのconfのVirtualHostに設定書いとけば良い。

以下のサイトが参考になった。

 

SSL/TLSサーバ証明書、コードサイニング証明書 | 国内最安値DigiCert(デジサート)正規代理店
RMSは、2008年よりDigiCertの各種証明書取り扱う正規代理店です。SSL/TLSサーバ証明書(SSL、ワイルドカードSSL、マルチドメインSSL、EV SSL)、コードサイニング証明書など取扱い実績は国内最長で、弊社経由で3,000ライセンス以上の証明書が発行されています。

NameVirtualHost *:443

<VirtualHost *:443>
ServerName www.yoursite.com
DocumentRoot /var/www/site
SSLEngine on
SSLCertificateFile /path/to/www_yoursite_com.crt
SSLCertificateKeyFile /path/to/www_yoursite_com.key
SSLCertificateChainFile /path/to/DigiCertCA.crt
</VirtualHost>

<VirtualHost *:443>
ServerName www.yoursite2.com
DocumentRoot /var/www/site2
SSLEngine on
SSLCertificateFile /path/to/www_yoursite2_com.crt
SSLCertificateKeyFile /path/to/www_yoursite2_com.key
SSLCertificateChainFile /path/to/DigiCertCA.crt
</VirtualHost>

 

 

 

 

コメント

タイトルとURLをコピーしました