无效的 HTTP_HOST 标头:根据 RFC 1034/1035 提供的域名无效

时间:2021-05-07 07:30:41

标签: django nginx header middleware

我们的 Django 服务器经常出现这个错误:

Invalid HTTP_HOST header: u'/home/appname/run/gunicorn.sock:'. The domain name provided is not valid according to RFC 1034/1035.

我认为当主机是真实 IP 而不是域名时会发生这种情况。

如果您在想为什么这样的主持人会进入 Django 应用程序,那是因为我们实际上是任何主持人:

ALLOWED_HOSTS = ['.appname.org', '*']

我们希望保持这种方式,因为我们允许客户将他们自己的域指向我们的代理。我们有一个 DomainNameMiddleware,它根据我们的数据库检查主机名,如果没有找到,请求将被拒绝。

但是,似乎“无效的 HTTP_HOST 标头”错误发生在我们的域名中间件运行之前,因此当我们的中间件静默处理它时会引发该错误。

我怎样才能让这个错误无声无息地失败?

0 个答案:

没有答案
相关问题