如何讓 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>

只是不要將ServerNameor放入ServerAlias其中VirtualHost

答案2

只需建立一個VirtualHost與您感興趣的任何主機頭相符的內容,然後傳回您想要的任何錯誤。

相關內容