有人已经build立了一个CDN服务器,将stream量引导到我的服务器,并设置HOST头匹配我的一个真实域。 因此,Apache将虚拟主机用于我的真实域名,而不是CDN域的主机名。
例如,该URL是:
http://cdn.example.com/pictures/www.mydomain.com/images/product/6a/229326.jpg
看来这个CDN是覆盖HOST头的代理。 Apache将主机视为www.mydomain.com而不是cdn.example.com。
我想阻止这个stream量,但是我不能通过主机或IP阻止(因为它改变了)。 有一个主机头:
HTTP_X_FORWARDED_HOST=cdn.example.com
可能?
编辑:没有安装mod_security
你可以使用mod_rewrite来完成这个任务:
RewriteEngine On RewriteCond %{HTTP:X-Forwarded-Host} cdn.example.com RewriteRule .* - [F]
正如你所看到的,如果你用curltesting它否认访问:
[root@RPX conf]# curl -i -H "X-Forwarded-Host: cdn.example.com" http://localhost:80/algo/ HTTP/1.1 403 Forbidden Date: Tue, 02 Jun 2015 16:49:37 GMT Server: Apache Content-Length: 207 Content-Type: text/html; charset=iso-8859-1 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <html><head> <title>403 Forbidden</title> </head><body> <h1>Forbidden</h1> <p>You don't have permission to access /algo/ on this server.</p> </body></html>