Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django 1.6.2中的HTTP_主机头无效_Django_Django 1.6 - Fatal编程技术网

Django 1.6.2中的HTTP_主机头无效

Django 1.6.2中的HTTP_主机头无效,django,django-1.6,Django,Django 1.6,我从Django web应用程序接收到大量无效的HTTP_主机头消息- [Django]错误:无效的HTTP_主机头:“www.bing.com”。您可能需要 将u'www.bing.com'添加到允许的\u主机 它来自已知的网站(如bing.com、google.com)以及非常随机的网站(www2t.biglobe.ne.jp、proxy.me5b.ru) 电子邮件中的信息是: 没有可用的堆栈跟踪 请求repr()不可用 我读过其他关于这个的问题,比如和 还有一篇很好的博文,比如 但它们似乎

我从Django web应用程序接收到大量无效的HTTP_主机头消息-

[Django]错误:无效的HTTP_主机头:“www.bing.com”。您可能需要 将u'www.bing.com'添加到允许的\u主机

它来自已知的网站(如
bing.com、google.com
)以及非常随机的网站(
www2t.biglobe.ne.jp、proxy.me5b.ru

电子邮件中的信息是:

没有可用的堆栈跟踪

请求repr()不可用

我读过其他关于这个的问题,比如和 还有一篇很好的博文,比如

但它们似乎都表明这个问题应该在Django 1.6中解决。但是,我正在运行Django 1.6.2,并且仍然看到这个错误。 我使用的是ApacheWSGi,应用程序托管在AWS Elasticbeanstalk上


我可能可以抑制这些警报消息,但我应该首先期待它们吗?

问题不在django或django应用程序中,而在用户端

您的django应用程序被配置为只接受example.com()上的请求,然后,如果任何其他域指向相同的ip和任何用户请求,django将引发该异常

显然,bing.con并没有指向您的IP地址(除非您是microsoft的员工,并且正在将bing迁移到django:-O)

我有些低血压:

  • 用户或机器人正在您的网站上进行一些未经授权的测试
  • ISP、公司或家庭DNS拥有的私有DNS服务器被黑客攻击或配置错误,并且有错误的条目
  • 恶意软件在用户操作系统的“主机”文件中添加了一些指向您的ip的条目
  • 或者bing.com指向您网站的任何其他原因
不要注意这个错误(我在我的网站上忽略了这个),因为django的想法是正确的:

我没有配置为此域提供服务,对不起,我不会向您提供任何内容


这里是一个完整的日志记录配置,如果尚未定义日志记录,则可以将其剪切并粘贴到Django 1.6设置文件中。这是@Devang作为上述评论发布的片段的后续内容

LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'handlers': {
        'null': {
            'class': 'django.utils.log.NullHandler',
        },
    },
    'loggers': {
        'django.security.DisallowedHost': {
            'handlers': ['null'],
            'propagate': False,
        },
    }
}

根据更新的Django 1.9


谢谢,对于那些在1.6中寻找如何做到这一点的人来说,可以通过--“loggers”:{“django.security.DisallowedHost”:{“handlers”:['null','propagate':False,},'我已经做到了,仍然会出错,知道为什么吗?
LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'handlers': {
        'null': {
            'class': 'logging.NullHandler',
        },
    },
    'loggers': {
        'django.security.DisallowedHost': {
            'handlers': ['null'],
            'propagate': False,
        },
    },
}