为什么Django用我的服务器IP向我发送无效的HTTP_主机头?

为什么Django用我的服务器IP向我发送无效的HTTP_主机头?,django,logging,nginx,Django,Logging,Nginx,因此Django向我发送了包含以下信息的邮件: [Django] ERROR: Invalid HTTP_HOST header: '<my server IP here>'.You may need to add u'<my server IP here>' to ALLOWED_HOSTS. No stack trace available Request repr() unavailable. [Django]错误:无效的HTTP\u主机头:“”。您可能需要将

因此Django向我发送了包含以下信息的邮件:

[Django] ERROR: Invalid HTTP_HOST header: '<my server IP here>'.You may need to add u'<my server IP here>' to ALLOWED_HOSTS.

No stack trace available

Request repr() unavailable.
[Django]错误:无效的HTTP\u主机头:“”。您可能需要将u“”添加到允许的\u主机。
没有可用的堆栈跟踪
请求repr()不可用。
问题是。。。您无法使用服务器IP访问我的网站,因为我只允许已在ALLOWED_HOST设置中的域

所以。。。我该怎么办

编辑:我正在使用Nginx->Gunicorn。此错误有时会发生,例如每周1-2次。

找到了原因

当时有人试图通过HTTPS通过IP访问服务器,如HTTPS://(和服务器IP)

解决方案是禁用该选项

Nginx的解决方案:

server {
    listen      80;
    listen      443 ssl;
    ssl_certificate    /etc/ssl/example.crt;
    ssl_certificate_key    /etc/ssl/example.key;
    return      444;
}

可能是因为您在代理到django之前没有设置头,请添加您的虚拟主机配置文件并描述您的服务器结构(如果它有什么特殊之处)。这种情况并不经常发生,因此很难找到错误消息的原因。不管怎样,我正在使用Nginx->Gunicorn->django,这发生在我身上。您是如何禁用它的?这取决于您使用的web服务器。我正在使用Nginx,因此我编辑了Nginx.conf并将其禁用。出现此错误消息的另一个原因是:@spindel如果您在回答中提供解决方案,它将帮助未来用户。您是如何在Nginx中禁用此功能的?