У меня около 10 сайтов в Apache 2. Это все отдельные сайты, а не поддомены. У меня есть сертификаты SSL для двух из них, и я хотел бы настроить SSL для них обоих и не заставлять мои сайты, не использующие SSL, использовать любой из них.
Проблема, с которой я сталкиваюсь, заключается в том, что я не могу активировать оба сертификата, всегда кажется, что по умолчанию используется первый, независимо от того, на какой сайт я захожу.
Я читал об этом, и похоже, что, хотя мой сервер может поддерживать SSI, Windows XP не поддерживает его, так что это не будет жизнеспособным вариантом. Кроме того, я кратко изучил mod_gnutils, но я не могу гарантировать, что это будет делать то, что я хочу, и мне также не очень удобно делать всю необходимую установку / настройку, чтобы это работало, если мне это абсолютно не нужно.
Мы будем очень признательны за любые предоставленные мне указания по этому поводу!
вот два 443 виртуальных хоста. Я пробовал ссылаться на виртуальные хосты, как вы видите ниже, а также на другие варианты, такие как просто «и». Я также играл со ссылками на NameVirtualHost, но все равно безрезультатно.
Listen 443
NameVirtualHost www.site1.com:443
NameVirtualHost www.site2.com:443
<VirtualHost www.site1.com:443>
DocumentRoot /var/www/site1/
ServerName www.site1.com:443
#SSL
SSLEngine on
SSLCertificateFile /path/to/ssl/site1.com.crt
SSLCertificateKeyFile /path/to/ssl/site1.key
SSLCertificateChainFile /path/to/ssl/bundle1.crt
</VirtualHost>
<VirtualHost www.site2.com:443>
DocumentRoot /var/www/site2/
ServerName www.site2.com:443
#SSL
SSLEngine on
SSLCertificateFile /path/to/ssl/site2.com.crt
SSLCertificateKeyFile /path/to/ssl/sit2.key
SSLCertificateChainFile /path/to/ssl/bundle2.crt
</VirtualHost>
Короткий ответ заключается в том, что вам нужно либо получить дополнительные IP-адреса, либо получить сертификат с несколькими именами в сертификате (SAN или подстановочный знак).
SNI действительно невозможен, если у вас есть сайт, который вы хотите обслуживать в Интернете. Пока еще недостаточно браузеров, которые его поддерживают.
Без использования SNI вы не можете иметь несколько сертификатов SSL, связанных с одной комбинацией IP-адреса / порта.
Единственное решение для вас - использовать либо
Обычный HTTP-запрос начинается так:
С другой стороны, запрос HTTPS (т.е. HTTP через SSL) начинается следующим образом:
Причина, по которой у вас не может быть разных сертификатов, связанных с 10.0.0.1:443, заключается в том, что Apache не сможет узнать, какой из них использовать для любого входящего соединения.