Как заставить Apache возвращать ошибку на неправильном http_host?

Как заставить Apache возвращать ошибку на неправильном http_host?

Мне нужно вернуть ошибку при неправильномhttp_хостЗаголовок. Для nginx я бы написал следующий конфиг:

server { 
    ## Deny illegal Host headers
    if ($host !~* ^(mydomain.com|www.mydomain.com)$ ) {
        return 444;
    }

    location  / {
        proxy_pass               http://app_server;
        ...
    }
}

Как сделать то же самое для Apache?

ОБНОВЛЯТЬ

Хотя трюк с виртуальными хостами работает, я в итоге остановился на RewriteRule:

RewriteEngine On
RewriteCond %{HTTP_HOST} !^(www\.)?example\.com$ [NC]
RewriteRule ^(.*)$ - [L,R=400]

решение1

вот пример

<VirtualHost _default_:80>
    ErrorDocument 403 /403.html
    ErrorDocument 404 /404.html
</VirtualHost>

просто не кладите ServerNameили ServerAliasвнутрь этого VirtualHost.

решение2

Просто создайте , VirtualHostкоторый соответствует любому заголовку хоста, который вас интересует, а затем верните любую нужную вам ошибку.

Связанный контент