1

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

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

Пример конфигурации 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>

1 ответ1

2

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

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .