📌  相关文章
📜  无效的 HTTP_HOST 标头:“192.168.0.5:8080”.您可能需要将“192.168.0.5”添加到 ALLOWED_HOSTS. (1)

📅  最后修改于: 2023-12-03 14:55:05.579000             🧑  作者: Mango

无效的 HTTP_HOST 标头介绍

当您运行 Django 时可能会遇到一个名为 Invalid HTTP_HOST header: "192.168.0.5:8080". You may need to add "192.168.0.5" to ALLOWED_HOSTS. 的错误消息。本文将介绍此错误消息的原因和如何解决。

错误原因

Django 通过 ALLOWED_HOSTS 变量来保护您的应用程序,防止某些类型的攻击。ALLOWED_HOSTS 变量是应用程序使用的一组主机名。如果请求中的 HOST 标头不在此列表中,Django 将不会响应该请求。此错误消息表示请求中的 HTTP_HOST 标头不在 ALLOWED_HOSTS 列表中。

如何解决

请按照以下步骤解决此错误消息:

  1. 打开您的应用程序的 settings.py 文件。

  2. settings.py 中找到名为 ALLOWED_HOSTS 的列表变量,类似如下所示:

ALLOWED_HOSTS = ['example.com', 'www.example.com']
  1. 将您在错误消息中看到的主机名(例如 192.168.0.5)添加到 ALLOWED_HOSTS 列表中,如下所示:
ALLOWED_HOSTS = ['example.com', 'www.example.com', '192.168.0.5']
  1. 重新启动您的 Django 服务器。通过此更改,应用程序现在应该能够接受来自新添加的主机名的请求。
结论

此错误消息表示请求中的 HTTP_HOST 标头不在 ALLOWED_HOSTS 列表中。通过将该主机名添加到 ALLOWED_HOSTS 列表中,您应该能够解决此错误消息并更加保护您的应用程序。