Como posso fazer com que o Apache retorne um erro no http_host errado?

Como posso fazer com que o Apache retorne um erro no http_host errado?

Preciso retornar um erro erradohttp_hostcabeçalho. Para o nginx eu escreveria a seguinte configuração:

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

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

Como posso fazer o mesmo para o Apache?

ATUALIZAR

Embora o truque com virtualhosts funcione, acabei com RewriteRule:

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

Responder1

aqui está um exemplo

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

apenas não coloque ServerNameou ServerAliasdentro disso VirtualHost.

Responder2

Basta criar um VirtualHostque corresponda ao cabeçalho do host de seu interesse e retornar o erro desejado.

informação relacionada