Более одного SSL-сертификата на виртуальном хосте?

У меня есть сервер под управлением Ubuntu 12.04.3 LTS и два под управлением Ubuntu 14.04.1 LTS, на которых есть сертификаты SSL. Все они являются стеками bitnami, поэтому их конфигурационные файлы apache2 находятся в:

/opt/bitnami/apache2/conf/bitnami

Требование было для нескольких сертификатов доменных имен для двух доменов с и без www. так что на самом деле 4 всего.

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

В итоге у него был один сертификат для всех этих доменов, настроенных в virtual-host _default_:443 раздел файла Apache2 bitnami.conf. Однако поставщик сертификатов предложил иметь два сертификата вместо одного (так как это будет дешевле).

  • Возможно ли иметь два сертификата в конфигурации Apache2, если для обоих доменов существует только один физический сервер?

  • Если так, то как бы вы настроили виртуальный хост для обработки двух сертификатов?

2 ответа

Решение

Вы можете иметь только один сертификат на виртуальный хост. Но это бесплатное программное обеспечение. Нет необходимости (и очень мало накладных расходов) просто добавить отдельный виртуальный хост для каждого домена со своим собственным сертификатом.

Если контент никогда не отличается, я бы пошел еще дальше и выбрал один домен в качестве основного, а остальные перенаправил на него. Как правило, лучше всего, чтобы поисковые системы были довольны (и ссылки, которые люди распространяют органически, будут относиться к одному домену).

В любом случае, это приводит к трем виртуальным хостам:

  • Тот, от которого вы принимаете. Например www.website.com
  • Один с тем же доменом, но с альтернативным префиксом (например, website.com) для перенаправления на основной, например website.com, Использует тот же сертификат.
  • Один для каждого альтернативного ДВУ (захватывая как www, так и www-less) для перенаправления.

У одного мультидоменного сертификата есть некоторые преимущества:

  • IE8 и более ранние версии в XP и более ранних версиях не поддерживают SNI, что означает, что для каждого сертификата требуется один законный IP-адрес. Многодоменные сертификаты облегчают работу, поскольку вы просто выбрасываете один сертификат для каждого запроса.
  • Меньше обновлять, когда срок действия сертификата истекает.

Это обычно не перевешивает их стоимость, хотя. И это фиксированные вещи, поэтому, если вам нужно добавить другой домен, вы должны заплатить полную цену. Набрать нагрузку на адреса IPv4 все еще дешевле.

И даже с многодоменным сертификатом, я бы все равно использовал три виртуальных хоста для перенаправления на один домен.

Возможно иметь один сертификат на домен. Для этого вам необходимо создать файл виртуального хоста для каждого домена. Давайте возьмем пример как website.com.

  1. Ypu может найти файл шаблона SSL по умолчанию на /etc/apache2/sites-available/default-ssl,

  2. Вместо этого мы создадим новый файл. /etc/apache2/sites-available/website.com,

  3. Отредактируйте новый файл в соответствии с приведенным ниже примером:

    <IfModule mod_ssl.c>
    <VirtualHost 192.168.0.100:443>
        ServerAdmin webmaster@website.com
        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. Перезагрузить апач sudo service apache2 reload

Другие вопросы по тегам