我有一台虚拟主机在CentOS 5上安装了Apache。
NameVirtualHost *:80 <VirtualHost *:80> DocumentRoot /var/www/html/default ServerName fail </VirtualHost> <VirtualHost *:80> DocumentRoot /var/www/html/website1.net ServerName website1.net ServerAlias *.website1.net </VirtualHost> <VirtualHost *:80> DocumentRoot /var/www/html/website2.com ServerName website2.com ServerAlias *.website2.com </VirtualHost>
有人设置了CNAME到website2.com,有效地假装他运行该网站。
我能够redirect一些更多的Apacheconfiguration魔术。
<VirtualHost *:80> ServerName evil.villain.com RedirectMatch permanent ^/?(.*) http://website2.com/$1 </VirtualHost>
但是这种技术要求我指定我想要redirect的域。
有没有一种方法可以将所有 “恶意”CNAMEloggingredirect到我自己的域名?
Apache将为未知的ServerNames提供默认的虚拟主机。 坚持这个在你的虚拟主机configuration的顶部,用apachectl -Svalidation
<VirtualHost _default _:*> RedirectMatch永久^ /?(。*)http://website2.com/$1 </虚拟主机>
http://httpd.apache.org/docs/2.0/vhosts/examples.html#default