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

Apache httpd.conf Используйте только SSL для поддомена и укажите 404 для других URL-адресов https

У меня есть текущая конфигурация почтового клиента моего веб-сайта:

    NameVirtualHost *:443

    <VirtualHost *:443>
            SSLEngine on
            SSLCertificateFile /etc/pki/tls/certs/ca.crt
            SSLCertificateKeyFile /etc/pki/tls/private/ca.key
            <Directory /var/www/mailclient>
                    AllowOverride All
            </Directory>
            DocumentRoot /var/www/mailclient
            ServerName mail.*
            ServerAlias mail.*
    </VirtualHost>

Когда я пытаюсь достичь https: // mail.domain1.com или https: // mail.domain2.com, это работает нормально.

Но когда я пытаюсь перейти на https: // domain1.com или https: // sub.domain1.com, я все еще вижу веб-почтовый клиент, но не хочу видеть ничего, кроме 404 или чего-то подобного. Итак, как я могу ограничить этот virtualHost только для определенного поддомена?

Apache будет обслуживать виртуальный хост по умолчанию (*), если не сможет найти нужный.
Вы могли бы использовать vhost по умолчанию чтобы обойти это.

<VirtualHost _default_:443>
  RedirectMatch permanent ^/?(.*) http://mymainwebsite.com/$1
</VirtualHost>

Это предотвратит его появление, если кто-то подключится к порту 443 с IP-адресом или другим поддоменом.

Настройте виртуальный хост по умолчанию, который будет возвращать ошибку. Он должен быть выше вашего текущего виртуального хоста, чтобы использовать его по умолчанию, но ниже NameVirtualHost конфигурация.

NameVirtualHost *:443

<VirtualHost *:443>
    ServerName default.filler.name
    SSLEngine on
    SSLCertificateFile /etc/pki/tls/certs/ca.crt
    SSLCertificateKeyFile /etc/pki/tls/private/ca.key
    <Location />
        Order Allow,Deny
        Deny from all
    </Location>
</VirtualHost>

<VirtualHost *:443>
    SSLEngine on
    SSLCertificateFile /etc/pki/tls/certs/ca.crt
    SSLCertificateKeyFile /etc/pki/tls/private/ca.key
    <Directory /var/www/mailclient>
        AllowOverride All
    </Directory>
    DocumentRoot /var/www/mailclient
    ServerName mail.*
    ServerAlias mail.*
</VirtualHost>

Будет 403 вместо 404. Достаточно близко?