Apache SSL с несколькими виртуальными хостами

1

У меня есть VPS от DO с одним IP-адресом. Я управляю несколькими доменами через Apache Virtual Hosts, и теперь я должен настроить виртуальный хост с поддержкой SSL. Я создал самоподписанный ssl-сертификат для тестирования виртуального хоста.

Я могу видеть содержимое example1.com с https, когда я подключился к https://example1.com, но я также вижу содержимое example1.com при подключении к https://example2.com, хотя example2.com не имеет конфигурации ssl в файл сервера conf.

Пример конфигурации example1.com:

<VirtualHost *:80>
    basic example1.com http conf such as DocumentRoot, ServerName
</VirtualHost>
<VirtualHost *:443>
    example1.com https conf

    SSLEngine on
    SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP
    SSLCertificateFile /path/to/example1.com-ssl-server.crt
    SSLCertificateKeyFile /path/to/example1.com-ssl-server.key
</VirtualHost>

Пример конфигурации example2.com:

<VirtualHost *:80>
    basic example2.com http conf such as DocumentRoot, ServerName
</VirtualHost>
Kaan Kölköy
источник

Ответы:

2

но я могу видеть содержимое example1.com тоже, когда я подключился к https://example2.com, хотя example2.com не имеет конфигурации ssl в файле conf сервера.

Это происходит именно потому, что example2.com не имеет конфигурации SSL. По умолчанию, если VirtualHost с точным именем сервера отсутствует, Apache будет использовать первый VirtualHost для того же порта.

(Вот почему Debian, например, использует «000-default.conf» для vhost по умолчанию, чтобы он всегда шел впереди чего-либо еще.)

grawity
источник
Так я должен установить конфигурацию ssl для всех виртуальных хостов, которым я не хочу иметь соединение https?
Kaan Kölköy
@ KaanKölköy: Ну, в эти дни вы хотите, чтобы соединение HTTPS для всех них. В самом деле. Но другой способ состоит в том, чтобы иметь специальный резервный VirtualHost с просто сообщением об ошибке (и без ServerName), и поставить его перед всеми остальными vhosts.
grawity
У меня уже есть резервный виртуальный хост для *: 80 и *: 443, но на этот раз я не могу подключиться к example1.com . Я вас правильно понял?
Kaan Kölköy