Wie kann ich dafür sorgen, dass Apache einen Fehler auf dem falschen http_host zurückgibt?

Wie kann ich dafür sorgen, dass Apache einen Fehler auf dem falschen http_host zurückgibt?

Ich muss einen Fehler zurückgeben, wennhttp_hostHeader. Für nginx würde ich die folgende Konfiguration schreiben:

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

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

Wie kann ich dasselbe für Apache tun?

AKTUALISIEREN

Obwohl der Trick mit virtuellen Hosts funktioniert, landete ich bei RewriteRule:

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

Antwort1

Hier ist ein Beispiel

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

Geben Sie hier einfach nicht „ ServerNameoder“ ein .ServerAliasVirtualHost

Antwort2

Erstellen Sie einfach ein VirtualHost, das mit dem Host-Header übereinstimmt, der Sie interessiert, und geben Sie dann den gewünschten Fehler zurück.

verwandte Informationen