Несколько конфигураций ssl Apche2 не работают [дубликат]

На этот вопрос уже есть ответ здесь:

Я установил два сертификата ssl на apache2, но когда я вхожу с доменом первый сертификат работает, и когда я вхожу с IP-адресом сервера, он показывает мне тот же сертификат, который у меня есть в домене. Я отключил хосты по умолчанию и ssl по умолчанию. Вот мои виртуальные хосты:

<VirtualHost *:443>
    ServerAdmin mail@example.com
    ServerName example.com:443
    ServerAlias www.example.com:443
    DocumentRoot /var/www/example.com/public_html
    ErrorLog /var/log/apache2/error-log.log
    CustomLog /var/log/apache2/custom-log.log common
    DirectoryIndex index.html index.php index.xhtml index.htm
    #Allow phpmyadmin /usr/share/phpmyadmin
    <Directory /usr/share/phpmyadmin>
        Options -Indexes FollowSymLinks
        AllowOverride None
        Order deny,allow
        allow from all
    </Directory>
    <Directory />
        Options -Indexes FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
    </Directory>
    <Directory /var/www/>
        Options FollowSymLinks MultiViews -Includes -ExecCGI -Indexes
        AllowOverride All
        Order allow,deny
        allow from all
        LimitRequestBody 104857600
    </Directory>

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory "/usr/lib/cgi-bin">
        AllowOverride None
        Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
        Order allow,deny
        Allow from all
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log
    LogLevel warn
    CustomLog ${APACHE_LOG_DIR}/access.log combined

    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>

    SSLEngine on
    SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire
    SSLCertificateFile /etc/apache2/ssl/first-ssl.crt
    SSLCertificateKeyFile /etc/apache2/ssl/first-ssl.key
    SSLCertificateChainFile /etc/apache2/ssl/first-ssl.crt
</VirtualHost>


<VirtualHost *:443>
    ServerAdmin example@example.com
    ServerName 188.226.208.247
    DocumentRoot /var/www/
    SSLEngine on
    SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire
    SSLCertificateFile /etc/apache2/ssl/second-ssl.crt
    SSLCertificateKeyFile /etc/apache2/ssl/second-ssl.key
</VirtualHost>  
0
задан 10 April 2014 в 15:34
2 ответа

Как упоминается в Вики-сайт Apache Common Misconfigurations

"... Из-за природы SSL информация о хосте не используется при установке SSL-соединения. Apache всегда будет использовать сертификат виртуального хоста по умолчанию, который является первым определенный виртуальный хост для виртуальных хостов на основе имен. Хотя это не означает, что вы никогда не сможете получить доступ ко второму виртуальному хосту, это означает, что ваши пользователи всегда будут получать предупреждение о несоответствии сертификата при попытке доступа к some.domain2.com ... "

И из apache docs :

"... Причина в том, что протокол SSL является отдельным уровнем, который инкапсулирует протокол HTTP. Таким образом, сеанс SSL - это отдельная транзакция, которая происходит до начала сеанса HTTP. Сервер получает запрос SSL на IP-адрес X и порт Y (обычно 443). Поскольку запрос SSL не содержал поля Host :, сервер не мог решить, какой виртуальный хост SSL использовать. Обычно он просто использовал первый найденный, соответствующий указанному порту и IP-адресу. ... "

Возможно иметь несколько сертификатов SSL с одним IP-адресом с SNI (указание имени сервера), но только в самых последних версиях Apache и OpenSSL (с Apache v2.2.12 и OpenSSL v0.9.8 j).

Вкратце:

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

0
ответ дан 24 November 2019 в 09:48

Пожалуйста, проверьте второй SSL, приобретенный для какого домена, и введите домен вместо IP-адреса.

ServerName 188.226.208.247 

change to

ServerName domainname .
0
ответ дан 24 November 2019 в 09:48

Теги

Похожие вопросы