如何保护我的服务器免受错误的代理请求

时间:2014-11-12 05:21:15

标签: apache proxy

我有一个网站,称之为

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)允许自定义域名?

0 个答案:

没有答案