我有一个网站,称之为
http://www.example.com
用户为自己创建一个网站,每个网站都会自动获得一个子域名,如
http://user1.example.com
http://user2.example.com
此外,一些用户可以使用自己的域名,在域名DNS设置中创建一个A-Record,指向我服务器的IP地址。
http://www.myownname.com > 10.10.10.10 (my site's server IP address)
在我的Apache VirtualHost中,它设置如下
<VirtualHost 10.10.10.10:80>
ServerName www.example.com
ServerAlias *
UseCanonicalName Off
DirectoryIndex index.php index.html
DocumentRoot /home/public/
<Directory /home/public/>
Require all granted
Allowoverride ALL
</Directory>
</VirtualHost>
行"ServerAlias *"
就在那里,我可以抓住任何指向我的IP地址的域名,然后通过我的网站处理它。
到目前为止,一切都运转良好。
现在,最近,我检查了我的Apache访问日志,我看到了奇怪的访问,如下面的
10.10.10.10 - - [25/Jul/2014:12:48:04 -0700] "GET http://www.some-random-site.com/ HTTP/1.0" 200 1456
看起来有人试图将我的服务器用作代理来访问其他网站。我已阅读了不少页面以阻止此代理请求(例如https://wiki.apache.org/httpd/ProxyAbuse)
例如,如果我使用“默认虚拟主机”阻止除虚拟主机中指定的内容之外的所有内容,则指向我服务器IP地址的所有自定义域名将不再起作用。但它会阻止代理请求。
如何阻止代理请求,同时仍然能够通过指向我的IP地址的A-Record(或CNAME)允许自定义域名?