
間違った場合はエラーを返す必要があります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
やを入れないでください。ServerAlias
VirtualHost
答え2
VirtualHost
関心のあるホスト ヘッダーに一致する を作成し、必要なエラーを返すだけです。