当前位置: 首页 > 面试题库 >

将Django网站从http升级到https后,我不断收到“无效的HTTP_HOST标头”错误电子邮件

马淇
2023-03-14
问题内容

最近,我将我的django网站之一从http升级到https。但是,此后,我不断收到Invalid HTTP_HOST header错误的电子邮件,而从未收到此类电子邮件。

以下是一些日志消息:

[Django]错误(外部IP):无效的HTTP_HOST标头:“
123.56.221.107”。您可能需要将‘123.56.221.107’添加到ALLOWED_HOSTS。

[Django]错误(外部IP):无效的HTTP_HOST标头:“ www.sgsrec.com”。您可能需要将“
www.sgsrec.com”添加到ALLOWED_HOSTS。

[Django]错误(外部IP):无效的HTTP_HOST标头:“ sgsrec.com”。您可能需要将“
sgsrec.com”添加到ALLOWED_HOSTS。

在/ apple-app-site-association处报告无效的HTTP_HOST标头:“ sgsrec.com”。您可能需要将“
sgsrec.com”添加到ALLOWED_HOSTS。

无效的HTTP_HOST标头:“ www.pythonzh.cn”。您可能需要将“ www.pythonzh.cn”添加到ALLOWED_HOSTS。

在/无效的HTTP_HOST标头中报告:“ www.pythonzh.cn”。您可能需要将“
www.pythonzh.cn”添加到ALLOWED_HOSTS。

请求方法:GET请求网址:http://www.pythonzh.cn/
Django版本:1.10.6

[Django]错误(外部IP):无效的HTTP_HOST标头:“ pythonzh.cn”。您可能需要将“
pythonzh.cn”添加到ALLOWED_HOSTS。

奇怪的是,我仅更改了博客站点www.zmrenwu.comnginx的配置,但是托管在123.56.221.107上的所有站点似乎都受到影响。

当然,我正确设置了ALLOWED_HOSTS:

ALLOWED_HOSTS = ['.zmrenwu.com']
ALLOWED_HOSTS = ['.sgsrec.com']
ALLOWED_HOSTS = ['.pythonzh.cn']

我的博客站点的Nginx配置www.zmrenwu.com

server {
    charset utf-8;
    server_name zmrenwu.com www.zmrenwu.com;
    listen 80;
    return 301 https://www.zmrenwu.com$request_uri;
}

server {
    charset utf-8;
    server_name zmrenwu.com;
    listen 443;

    ssl on;
    ssl_certificate /etc/ssl/1_www.zmrenwu.com_bundle.crt;
    ssl_certificate_key /etc/ssl/2_www.zmrenwu.com.key;

    return 301 https://www.zmrenwu.com$request_uri;
}

server {
    charset utf-8;
    listen 443;
    server_name www.zmrenwu.com;

    ssl on;
    ssl_certificate /etc/ssl/1_www.zmrenwu.com_bundle.crt;
    ssl_certificate_key /etc/ssl/2_www.zmrenwu.com.key;

    location /static  {
        alias /home/yangxg/sites/zmrenwu.com/blogproject/static;
    }

    location /media {
        alias /home/yangxg/sites/zmrenwu.com/blogproject/media;
    }

    location / {
        proxy_set_header Host $host;
        proxy_pass http://unix:/tmp/zmrenwu.com.socket;

为什么会这样?我该如何解决这个问题?


问题答案:

您需要添加一个块

   location / {

   }

这种情况(针对非域请求):

if ( $host !~* ^(yourdomain.com|www.yourdomain.com)$ ) {
   return 444;
}

sudo service nginx reload


 类似资料:
  • 问题内容: 升级到Django 1.5后,我开始出现如下错误: 我已经 在文件中进行了设置。 这里发生了什么?有人假装成为Google并访问我的网站吗?还是有人错误地设置其HTTP_HOST标头的良性案例? 问题答案: 如果你ALLOWED_HOSTS的设置正确,则可能有人通过欺骗标头来探测你的站点是否存在漏洞。 Django开发人员正在讨论将其从500内部服务器错误更改为400响应

  • 更严格的DMARC政策意味着,如果客户输入雅虎或美国在线的电子邮件地址,我们就不会收到使用我们在线表格的客户的电子邮件。 我认为这是因为PHP表单生成的电子邮件是从我们的网站服务器发送的,但客户自己的电子邮件地址是“发件人”。当这封“发件人”电子邮件是雅虎电子邮件时,它会触发我们的接收电子邮件帐户来阻止它。(我们使用gmail阅读和回复电子邮件。) 因此,我试图找出如何修改PHP表单,把客户的电子

  • 这是我的代码,我使用Firebase注册用户,并使用用户名而不是电子邮件进行登录/注册。 我搜索了很多,但没有找到解决方案。任何关于这种方法的帮助都将不胜感激。

  • 我正在将我的django项目从1.8升级到2.2.0(使用virtualenv中的Python 3.6)。我做了以下更改。 将on_delete添加到所有外键字段 将url反向导入更改为来自django。URL反向导入 在所有应用程序的url文件中包含路径/re_path而不是url 将设置文件中的MIDDLEWARE_CLASSES导入更改为MIDDLEWARE={} 我试图运行服务器,但它仍然

  • 我升级了我的项目,有2个类库和一个MVC项目,从2.2版本升级到了Mvc核心3.0版本 > 更改.net<代码> 2 .像这样改变 <代码> 3.my satrtup.cs ` < br >应用程序。usehttps redirection();app。UseStaticFiles();app。UseDefaultFiles();app。UseCookiePolicy(); 我的程序. cs pu

  • 我在一个简单的网站上工作,但在联系方式上遇到了一些问题,我尝试了所有类型的设置,但都不起作用。 问题是,当我填写表格并按下提交按钮时,它将显示“Message sent successfully”,但我无法接收任何邮件到我的邮件ID。 那我能做什么。。。??? 我的:文件名是 我的 请帮助我...!!