Как запретить другим нескольким доменам VirtualHosts Apache 2.2 доступ к https (SSL_ERROR_BAD_CERT_DOMAIN) с помощью SNI?

Я запускаю Apache 2.2 на Ubuntu 14.04.4 LTS на сервере Linode. У меня есть несколько доменов, размещенных на этом компьютере (только с 1 IP-адресом).

У меня есть размещенный здесь домен tbw.com, для которого у меня есть сертификат SSL и для которого мне нужны все http: // tbw Запросы .com и http://www.tbw.com будут перенаправлены на https: //www.tbw. conf

...
<Directory /var/www/>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
</Directory>
...

/etc/apache2/ports.conf

NameVirtualHost *:80
NameVirtualHost *:443

Listen 80
...

/etc/apache2/sites-available/tbw.com.conf

<VirtualHost *:80>
   ServerName tbw.com
   ServerAlias www.tbw.com
   DocumentRoot /var/www/html/tbw.com/public_html
   Redirect permanent / https://www.tbw.com/
</VirtualHost>

<IfModule mod_ssl.c>
    <VirtualHost www.tbw.com:443>
        ServerAdmin yo@tbw.com
        ServerName www.tbw.com
        DocumentRoot /var/www/html/tbw.com/public_html

        # Log file locations
        LogLevel warn
        ErrorLog  /var/www/html/tbw.com/log/error.log
        CustomLog /var/www/html/tbw.com/log/access.log combined

        SSLEngine on
        SSLCertificateFile /etc/apache2/ssl/tbw.com/www_tbw_com.crt
        SSLCertificateKeyFile /etc/apache2/ssl/tbw.com/tbw.key
        SSLCertificateChainFile  /etc/apache2/ssl/tbw.com/www_tbw_com.ca-bundle
        <FilesMatch "\.(cgi|shtml|phtml|php)$">
                        SSLOptions +StdEnvVars
        </FilesMatch>
        <Directory /usr/lib/cgi-bin>
                        SSLOptions +StdEnvVars
        </Directory>
        BrowserMatch "MSIE [2-6]" \
                        nokeepalive ssl-unclean-shutdown \
                        downgrade-1.0 force-response-1.0
        BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown
    </VirtualHost>
</IfModule>
0
задан 13 April 2017 в 15:14
1 ответ

Я не хочу, чтобы это случилось - я бы предпочел, чтобы это показывало стандартную / ожидаемую ошибку "Secure Connection Failed" для не SSL доменов.

В этом случае вы должны настроить apache на то, чтобы он не принимал клиентов, которые не поддерживают SNI, т.е. SSLStrictSNIVHostCheck на . В этом случае виртуальные узлы без настроенного сертификата должны вызвать ошибку на клиенте, т.е. что-то вроде неправильного имени сервера или ошибки рукопожатия (в зависимости от браузера).

Могу ли я иметь другие домены с SSL сертификатами, установленными на той же машине (тот же самый IP-адрес)?

Пока клиент использует SNI (что делают все современные браузеры), это должно быть возможно.

.
0
ответ дан 5 December 2019 в 09:53

Теги

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