0

我目前收到大量垃圾邮件点击,这些点击被我的 apache 服务器捕获并响应 404,例如

23.19.31.54 - - [06/Nov/2012:11:54:28 +0000] "GET http://ad.adserverplus.com/st?ad_type=iframe&ad_size=728x90&section=2687744&pub_url=${PUB_URL} HTTP/1.0" 404 1367 "http://wealthterritory.com/index.php?view=article&catid=41%3Aservices&id=4812%3A2011-07-06-13-26-55&format=pdf&option=com_content&Itemid=97" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)"

但是,这会导致大量带宽使用。我想知道我是否可以只允许对特定域的请求,例如,如果请求来自 abcd.com,那么只允许该请求。

PS:我也尝试阻止 iptables 中的 IP,但由于请求开始来自其他 IP,因此它不起作用。

请指教。

谢谢!

4

1 回答 1

0

由于没有人回答,而且我很久以前就找到了解决方案(忘记在这里回答),我也会发布解决方案。解决方案是关闭其他所有人的代理,只允许访问该站点。

<VirtualHost *:80>
  ServerName deny.all
  <Location />
    Order allow,deny
    Deny from all
  </Location>
</VirtualHost>

<VirtualHost *:80>
    ServerName www.myserver.com
    ServerAlias www.myserver.com myserver.com ec2-XX-XXX-XX-XXX.compute-1.amazonaws.com
<Proxy *>
        Order deny,allow
        Allow from all
   </Proxy>
ProxyPass / http://localhost:8080/
   ProxyPassReverse / http://localhost:8080/
</VirtualHost>

这导致所有垃圾邮件请求为 403,在 apache 日志中显示如下 -

173.208.94.246 - - [07/Nov/2012:11:47:47 +0000] "GET http://ad.scanmedios.com/st?ad_type=iframe&ad_size=300x250&section=3522632 HTTP/1.0" 403 287 "http://piecehealth.com/index.php?option=com_content&view=article&id=5935:2012-01-07-16-34-29&catid=40:health-fitness&Itemid=96" "Mozilla/5.0 (X11; Linux i686) AppleWebKit/535.1 (KHTML, like Gecko) Ubuntu/10.04 Chromium/14.0.804.0 Chrome/14.0.804.0 Safari/535.1"
于 2013-09-18T14:39:41.487 回答