잘못된 http_host에서 Apache 반환 오류를 어떻게 만들 수 있습니까?

잘못된 http_host에서 Apache 반환 오류를 어떻게 만들 수 있습니까?

잘못된 오류를 반환해야 합니다.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 를 넣지 마세요 .ServerAliasVirtualHost

답변2

VirtualHost관심 있는 호스트 헤더와 일치하는 것을 만든 다음 원하는 오류를 반환하면 됩니다 .

관련 정보