Назад | Перейти на главную страницу

Ошибка SSL при использовании виртуальных хостов (apache + xampp)

У меня есть несколько веб-сайтов на моем vps-сервере Windows Server 2003, на которых запущен apache2 через xampp. Я использую openssl.

Когда у меня был включен SSL только на 1 сайте (у меня 2 активных), все работало нормально - но теперь у меня проблемы.

Я не могу получить доступ https://liamwli.co.uk (или небезопасный вариант), поскольку Google Chrome выдает ошибку, когда я пытаюсь получить к нему доступ:

Ошибка SSL-соединения. Невозможно установить безопасное соединение с сервером. Это может быть проблема с сервером или может потребоваться сертификат аутентификации клиента, которого у вас нет. Ошибка 107 (net :: ERR_SSL_PROTOCOL_ERROR): ошибка протокола SSL.

Я могу получить доступ к своему другому сайту (techmastersforum.co.uk), но он предоставляет очень урезанный сайт. Когда я пытаюсь получить доступ к techmastersforum.co.uk через https, у меня возникает ошибка сертификата, поскольку он пытается использовать сертификат для другого моего домена.

Содержимое моего файла httpd-vhosts.conf:

NameVirtualHost *:80
    <VirtualHost *:80>
        ServerAdmin liam@liamwli.co.uk
        DocumentRoot "C:/xampp/xampp/htdocs"
        ServerName techmastersforum.co.uk
        ServerAlias www.techmastersforum.co.uk
        ErrorLog "logs/dummy-host.localhost-error.log"
        CustomLog "logs/dummy-host.localhost-access.log" combined
    </VirtualHost>
    <VirtualHost *:443>
        ServerAdmin liam@liamwli.co.uk
        DocumentRoot "C:\xampp\xampp\blog"
        ServerName liamwli.co.uk
        ServerAlias www.liamwli.co.uk
        ErrorLog "logs/liamwlissl.log"
        CustomLog "logs/liamwlissl.log" combined
        SSLEngine On
        SSLCertificateFile "C:\xampp\xampp\certs\www_liamwli_co_uk.crt"
        SSLCertificateKeyFile "C:\xampp\xampp\certs\www_liamwli_co_uk.key"
        SSLCACertificateFile "C:\xampp\xampp\certs\GeoTrust_CA_Bundle.crt"
    </VirtualHost>

    <VirtualHost *:443>
        ServerAdmin liam@liamwli.co.uk
        DocumentRoot "C:\xampp\xampp\htdocs"
        ServerName techmastersforum.co.uk
        ServerAlias www.techmastersforum.co.uk
        ErrorLog "logs/tmfssl.log"
        CustomLog "logs/tmfssl.log" combined
        SSLEngine On
        SSLCertificateFile "C:\xampp\xampp\certs\www_techmastersforum_co_uk.crt"
        SSLCertificateKeyFile "C:\xampp\xampp\certs\www_techmastersforum_co_uk.key"
        SSLCACertificateFile "C:\xampp\xampp\certs\GeoTrust_CA_Bundle.crt"
    </VirtualHost>

    <VirtualHost *:80>
        ServerAdmin liam@liamwli.co.uk
        DocumentRoot "C:\xampp\xampp\blog"
        ServerName liamwli.co.uk
        ServerAlias www.liamwli.co.uk
        ErrorLog "logs/dummy-host.localhost-error.log"
        CustomLog "logs/dummy-host.localhost-access.log" combined
    </VirtualHost>

Кто-нибудь знает, в чем моя проблема?

Как я уже сказал, я запускаю Apache2 через XAMPP на Windows Server 2003 VPS.

У меня была такая проблема. Однако мне удалось это исправить. Я бы порекомендовал вам использовать параметр httpd.exe -t для проверки синтаксических ошибок.

Вы должны указать директиву NameVirtualHost *: 443 над вставками ssl. Я предоставил исправленный файл httpd-vhosts.conf.

NameVirtualHost *:80
    <VirtualHost *:80>
        ServerAdmin liam@liamwli.co.uk
        DocumentRoot "C:/xampp/xampp/htdocs"
        ServerName techmastersforum.co.uk
        ServerAlias www.techmastersforum.co.uk
        ErrorLog "logs/dummy-host.localhost-error.log"
        CustomLog "logs/dummy-host.localhost-access.log" combined
    </VirtualHost>

    <VirtualHost *:80>
        ServerAdmin liam@liamwli.co.uk
        DocumentRoot "C:\xampp\xampp\blog"
        ServerName liamwli.co.uk
        ServerAlias www.liamwli.co.uk
        ErrorLog "logs/dummy-host.localhost-error.log"
        CustomLog "logs/dummy-host.localhost-access.log" combined
    </VirtualHost>

NameVirtualHost *:443

<VirtualHost *:443>
        ServerAdmin liam@liamwli.co.uk
        DocumentRoot "C:\xampp\xampp\blog"
        ServerName liamwli.co.uk
        ServerAlias www.liamwli.co.uk
        ErrorLog "logs/liamwlissl.log"
        CustomLog "logs/liamwlissl.log" combined
        SSLEngine On
        SSLCertificateFile "C:\xampp\xampp\certs\www_liamwli_co_uk.crt"
        SSLCertificateKeyFile "C:\xampp\xampp\certs\www_liamwli_co_uk.key"
        SSLCACertificateFile "C:\xampp\xampp\certs\GeoTrust_CA_Bundle.crt"
    </VirtualHost>

    <VirtualHost *:443>
        ServerAdmin liam@liamwli.co.uk
        DocumentRoot "C:\xampp\xampp\htdocs"
        ServerName techmastersforum.co.uk
        ServerAlias www.techmastersforum.co.uk
        ErrorLog "logs/tmfssl.log"
        CustomLog "logs/tmfssl.log" combined
        SSLEngine On
        SSLCertificateFile "C:\xampp\xampp\certs\www_techmastersforum_co_uk.crt"
        SSLCertificateKeyFile "C:\xampp\xampp\certs\www_techmastersforum_co_uk.key"
        SSLCACertificateFile "C:\xampp\xampp\certs\GeoTrust_CA_Bundle.crt"
    </VirtualHost>

Как объяснено в этом ответе, вы не можете использовать 2 разных сертификата для одной конечной точки (ipaddress: port).

Если у вас есть 2 статических IP-адреса, назначьте каждому виртуальный хост HTTPS, например:

<VirtualHost 1.1.1.1:443>
    ServerAdmin liam@liamwli.co.uk
    DocumentRoot "C:\xampp\xampp\blog"
    ServerName liamwli.co.uk
    ServerAlias www.liamwli.co.uk
    ErrorLog "logs/liamwlissl.log"
    CustomLog "logs/liamwlissl.log" combined
    SSLEngine On
    SSLCertificateFile "C:\xampp\xampp\certs\www_liamwli_co_uk.crt"
    SSLCertificateKeyFile "C:\xampp\xampp\certs\www_liamwli_co_uk.key"
    SSLCACertificateFile "C:\xampp\xampp\certs\GeoTrust_CA_Bundle.crt"
</VirtualHost>

<VirtualHost 2.2.2.2:443>
    ServerAdmin liam@liamwli.co.uk
    DocumentRoot "C:\xampp\xampp\htdocs"
    ServerName techmastersforum.co.uk
    ServerAlias www.techmastersforum.co.uk
    ErrorLog "logs/tmfssl.log"
    CustomLog "logs/tmfssl.log" combined
    SSLEngine On
    SSLCertificateFile "C:\xampp\xampp\certs\www_techmastersforum_co_uk.crt"
    SSLCertificateKeyFile "C:\xampp\xampp\certs\www_techmastersforum_co_uk.key"
    SSLCACertificateFile "C:\xampp\xampp\certs\GeoTrust_CA_Bundle.crt"
</VirtualHost>