我的原始网页是http://www.stahlbaron.de/
从2天开始,http://www.joma-topflex.ru/指向我的页面。我意识到这一点并添加了ALLOWED_HOSTS = ['.stahlbaron.de']
,但没有帮助。坏URL仍然指向我的页面。
我该怎么办?我使用nginx,uwsgi来部署页面。遗憾的是,Ngix没有deny www.joma-topflex.ru;
选项。
答案 0 :(得分:3)
有两种可能性:
副本的所有者实际上窃取了您的代码和数据库,这是不太可能的。这可以很容易地检查 - 只需在您网站上的某个页面添加更改,看看它是否出现在doppelgaenger上。如果副本是独立的,那么什么都不会改变。不要忘记使用Ctrl + F5来避免看到缓存的内容。
如果是这种情况,您可以向副本hosting provider报告滥用行为。事实上,无论如何都应该这样做。
如果该副本只是您网站的代理镜像,则阻止其IP将解决问题。您可以通过修改配置来在Nginx中执行此操作:
geo $bad_client {
default 0;
78.47.49.3/32 1;
}
server {
...
if ($bad_client) {
return 403;
}
add_header X-Frame-Options SAMEORIGIN;
...
}
这也是将标题X-Frame-Options设置为SAMEORIGIN(参见上面的示例)的一个好主意,这可以保证没有人会使用iframe在另一个域上制作您网站的副本。
修改强>
现在这很有趣。这里发生的是:一些(可能很久)以前有人从Hetzner购买了托管包,注册了域名www.joma-topflex.ru并指向了Hetzner给他或她的IP。正如您现在可能已经猜到的那样,知识产权是78.47.49.3。
过了一段时间,这个人可能对项目失去了兴趣并停止向Hetzner付款。反过来,Hetzner将IP重新分配给新客户 - 您。但域名www.joma-topflex.ru从未被域名所有者指向另一个IP,这通常发生在被遗弃的项目中。
所以,这里实际上没有坏人。 www.joma-topflex.ru的所有者可能甚至不知道他的域名再次运作。
这里真正的问题是你的Nginx配置,它将你的服务器的任何请求代理到你的Django应用程序。您需要做的是明确将您的域设置为唯一可接受的服务器名称,如下所示:
server {
# Delete any other server_name you find around and add this:
server_name www.stahlbaron.de;
...
}
有趣的是,您可以使用域名www.joma-topflex.ru,只要它指向您的服务器。例如,您可以向Nginx配置添加另一个服务器块,使用" www.joma-topflex.ru"设置指令server_name。并将其用于另一个Django应用程序,或者其他任何你喜欢的应用程序。
编辑2:
顺便提一下,域名joma-topflex.ru支付到2015.04.26,很可能不会延长。换句话说,你甚至可以什么都不做,问题将在两天内解决。