
我需要回傳錯誤的錯誤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
or放入ServerAlias
其中VirtualHost
。
答案2
只需建立一個VirtualHost
與您感興趣的任何主機頭相符的內容,然後傳回您想要的任何錯誤。