メモ > サーバ > 各論: エトセトラ > 1サーバに複数のSSL証明書を設定する
1サーバに複数のSSL証明書を設定する
※Apacheが2.2.12以降、OpenSSL 0.9.8j以降ならSNI(Server Name Indication)に対応しているので、バーチャルホストで複数のSSL証明書を利用できる。
これらより前のバージョンを使う場合は注意が必要。
クライアント側も、IE6以前・Android2以前・フィーチャーフォンといった環境ではアクセスできない。
とは言え、現状は気にせず使えるはず。
名前ベースのバーチャルホストでSSLを使う(SNI) | あぱーブログ
https://blog.apar.jp/linux/378/
ApacheのSNIについて [がらくたネット]
https://e-garakuta.net/techinfo/doku.php/linux/apache-sni
SNIとは? CDNでSSL配信を行うための基礎知識 - ブログ - Jストリーム
https://www.stream.co.jp/blog/blogpost-38236/
以下、調査した内容。
1 台のサーバーに複数の証明書をインストールできますか。|SSL/TLS サーバー証明書 SureServer|サイバートラスト
https://www.cybertrust.co.jp/sureserver/support/faq/k7sy5mbvynff.html
1つのIPアドレスに対して1つのSSL証明書。というのが原則ではある。
複数のドメインでSSLを利用する場合 | COMODO JAPAN
https://comodo.jp/guide/multidomain.html
複数のドメインでSSLを利用したければ、マルチドメインタイプもしくはワイルドカードの証明書が必要。
ワイルドカードは複数サブドメインに対応するためのものなので、まったく異なるドメインならマルチドメインタイプが必要。
1つのサーバーで複数の証明書が使える、SNIって?|SSL基礎知識|Zenlogic - ファーストサーバ株式会社のレンタルサーバー
https://zenlogic.jp/user-support/knowledge/ssl/sni.html
SNIで1台のサーバ上に複数のSSLサイトを運用 - 前編 | さくらのナレッジ
https://knowledge.sakura.ad.jp/3160/
1個の IP アドレスで複数の SSL サイトを設置する方法 | BestSSL
https://www.bestssl.net/support/others/how-to-set-multi-ssl-site/
1サーバで複数のドメイン&証明書を使いたいという要望は多いため、SNIという技術が作られた。
ただし対応ブラウザの制約がある(WindowsXP、IE6、Android2、フィーチャーフォンなどは非対応。)
マルチドメイン | SSLサーバ証明書 |GMOグローバルサイン【公式】
https://jp.globalsign.com/service/ssl/products_price/mdomainssl.html
一例として、グローバルサインによるマルチドメインの解説と価格表。
■AWSの場合
EC2の場合、上と同じ状況。
ELBの場合、そもそもSNIに対応していないので不可。
ALBの場合、SNIに対応しているので可。
ALBで複数証明書 | ナレコムAWSレシピ
https://recipe.kc-cloud.jp/archives/10771
AWS Developer Forums: 複数ドメインのSSL証明書を1つのELB ...
https://forums.aws.amazon.com/thread.jspa?threadID=239338
ELBに複数のSSLを割り当てる @AWS |
https://shoroji.com/2017/11/3879/
EC2に複数の固定IPを設定することは可能みたい。
これなら通常のSSL証明書でも使えるかも。要検証。
EC2に複数のグローバルIPを付与してみた - サーバーワークスエンジニアブログ
http://blog.serverworks.co.jp/tech/2016/11/01/attach_eip/
■さくらのクラウドの場合
さくらのクラウドで複数の固定IPを設定する場合、
共有セグメントではなく専用セグメントにする必要があるみたい。要検証。
さくらのクラウド基礎知識
https://www.slideshare.net/sakura_pr/elementary-knowledge-of-sakura-cloud
さくらのクラウド導入セミナー(2016.10) 第一部 導入編
https://www.slideshare.net/sakura_pr/20161018-sakura-cloud-introduction-67339981
■単体サーバに設定する手順
/etc/httpd/conf.d/virtualhost.conf で証明書などの設定を行う際に以下のように設定するが、
<VirtualHost *:443>
ServerName refirio.net
DocumentRoot /var/www/vhosts/main/html
〜略〜
</VirtualHost>
以下のようにIPアドレスを指定することで、IPアドレスごとに証明書を設定できるみたい。(要検証。)
<VirtualHost 203.0.113.1:443>
ServerName refirio.net
DocumentRoot /var/www/vhosts/main/html
〜略〜
</VirtualHost>
マルチドメインでのSSLの設定(CentOS7) - Qiita
https://qiita.com/oinuman/items/365f70b31a825db15ed7
SNI がまだそこまでポピュラーではないのでサーバ証明書を扱うには 1 枚に 1 つの IP address が要るのでお困りのそこのあなた!! - してみむとて
http://d.hatena.ne.jp/blooper/20121027/1351360911
■疑問
以前、固定IPを1つだけ持つさくらの専用サーバに対して、複数ドメインのSSLを設定している。
マルチドメイン証明書では無いはずだが、難なく設定できたのは謎。
■COMODO JAPAN INC への問い合わせ内容
マルチドメインのSSL証明書を https://comodo.jp/ で購入する前提で、実際に問い合わせたときの内容。
> 対象サイトが2つあり、両方ともSSLに対応させたいです。(今後3つ以上に増える可能性もあります。)
> ただしコストを抑えるために、サーバは1つでバーチャルホストで構築する予定です。
> サーバはAWSのEC2(1台単独)か、さくらのクラウド(1台単独)を予定しています。
> この場合、以下の認識が正しいか確認したいです。
かしこまりました。
> ・固定IPが1つのサーバに、通常のSSL証明書を複数設定することは不可
はい。仰る通りでございます。
固定IPを複数追加可能でしたら、通常の証明書を複数設定可能です。
> ・マルチドメイン証明書なら、2つ以上のドメインに対応できる。SSLの導入手順は、通常のSSL証明書と変わりない
はい。仰る通りでございます。
> ・通常の証明書でも複数IPを設定(AWSでEIPを複数設定、さくらクラウドの専用セグメントで複数IP)すれば、2つ以上のドメインに対応できる
はい。上述の通りです。
> ・2サイト運用中に3サイト目を追加したい場合、SSL証明書の差し替え作業が3サイト分必要
マルチドメインSSLは、
1枚の証明書で複数のコモンネームに対応することができますので、
証明書の差し替えは、1枚のみとなります。
> その他懸念点や注意すべき点、「こういう場合は利用できない」などございましたら、お知らせいただけると幸いです。
今後追加させるドメインが5ドメイン以内でしたら、
コストメリットが高いマルチドメインおトクパックをお勧めさせていただきます。
https://comodo.jp/products/otokupack.html
CSRを作成する際、代表となる一つのコモンネームを決めていただき、
そのコモンネームにてCSRを生成してください。
その他、他認証局と同様ではありますが、注意点を挙げさせていただきます。
・Apache1系では、ご利用になれません。
・フィーチャーフォンからのアクセスには対応しておりません。
引き続き、どうぞ宜しくお願い申し上げます。
その他、ご不明な点等がございましたら、お気軽にお問い合わせください。