¿Cómo puedo hacer que Apache devuelva un error en http_host incorrecto?

¿Cómo puedo hacer que Apache devuelva un error en http_host incorrecto?

Necesito devolver un error por errorhttp_hostencabezamiento. Para nginx escribiría la siguiente configuración:

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

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

¿Cómo puedo hacer lo mismo con Apache?

ACTUALIZAR

Aunque el truco con los hosts virtuales funciona, terminé con RewriteRule:

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

Respuesta1

Aquí hay un ejemplo

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

simplemente no pongas ServerNameo ServerAliasdentro de esto VirtualHost.

Respuesta2

Simplemente cree un VirtualHostencabezado que coincida con cualquier encabezado de host que le interese y luego devuelva el error que desee.

información relacionada