web-dev-qa-db-ja.com

仮想ホストに複数のSSL証明書がありますか?

Ubuntu 12.04.3 LTSを実行しているサーバーと、Ubuntu 14.04.1 LTSを実行しているサーバーがあり、そのうちの2つにSSL証明書があります。すべてbitnamiスタックであるため、Apache2構成ファイルは次の場所にあります。

/opt/bitnami/Apache2/conf/bitnami

要件は、www.がある場合とない場合の2つのドメインの複数のドメイン名証明書であるため、実際には合計4つです。

website.com
www.website.com
website.co.uk
www.website.co.uk

最終的に、Apache2 bitnami.confファイルのvirtual-Host _default_:443セクションで設定されたこれらすべてのドメインに対して1つの証明書がありました。ただし、証明書プロバイダーは、1つではなく2つの証明書を用意することを提案しました(より安価になるため)。

  • 両方のドメインに物理サーバーが1つしかない場合、Apache2 confに2つの証明書を含めることはできますか?

  • その場合、2つの証明書を処理するために仮想ホストをどのように設定しますか?

2
Aravona

仮想ホストごとに1つの証明書しか持てません。しかし、これはフリーソフトウェアです。独自の証明書を使用してドメインごとに個別の仮想ホストを追加するだけで、コストはかかりません(オーバーヘッドはほとんどありません)。

コンテンツが異なる場合を除き、さらに一歩進めて、1つのドメインをメインドメインとして選択し、他のすべてのドメインにリダイレクトさせます。これは通常、検索エンジンを満足させるために最適です(そして、人々が有機的に拡散するリンクは同じドメインになります)。

とにかく、3つの仮想ホストが作成されます。

  • あなたがホストするもの。例www.website.com
  • ドメインは同じですが、代替プレフィックス(例:website.com)を使用して、メインドメイン(例:website.com)にリダイレクトします。同じ証明書を使用します。
  • リダイレクトする代替TLD(wwwとwww-lessの両方をキャプチャ)ごとに1つ。

単一のマルチドメイン証明書にはいくつかの利点があります。

  • XP以前のIE8以前は、SNIをサポートしていません。つまり、証明書ごとに単一の正当なIPアドレスが必要です。マルチドメイン証明書を使用すると、リクエストごとに同じ証明書を破棄するだけなので、簡単に回避できます。
  • 証明書の有効期限が切れたときに更新する必要が少なくなります。

ただし、通常はコストを上回っていません。そして、それらは固定されているため、別のドメインを追加する必要がある場合は、全額を支払う必要があります。大量のIPv4アドレスを取得するのは、まだ安価です。

また、マルチドメイン証明書を使用しても、3つの仮想ホストを使用して1つのドメインにリダイレクトします。

3
Oli

ドメインごとに1つの証明書を持つことができます。それを実現するには、ドメインごとに仮想ホストファイルを作成する必要があります。例としてwebsite.comを見てみましょう。

  1. Ypuは/etc/Apache2/sites-available/default-sslでデフォルトのSSLテンプレートファイルを見つけることができます。

  2. 代わりに新しいファイルを作成します。 /etc/Apache2/sites-available/website.com

  3. 以下の例に一致するように新しいファイルを編集します。

    <IfModule mod_ssl.c>
    <VirtualHost 192.168.0.100:443>
        ServerAdmin [email protected]
        ServerName website.com:443
        DocumentRoot /var/www/website.com
    
        <Directory />
            Options FollowSymLinks
            AllowOverride None
        </Directory>
    
        <Directory /var/www/website.com>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride None
            Order allow,deny
            allow from all
        </Directory>
    
        SSLEngine on
        SSLCertificateFile    /etc/ssl/certs/ssl-cert-snakeoil.pem
        SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
    </VirtualHost>
    </IfModule>
    
  4. 次に、新しいファイルをアクティブにします。 Sudo a2ensite website.com

  5. Apache Sudo service Apache2 reloadをリロードします

2
Aizuddin Zali