Django ALLOWED_HOSTS 中的 0.0.0.0 是否存在安全风险?

bla*_*fci 6 django

基于 Django 设置的配置有很多这样的问题,但我是从安全角度问的——

背景:(显然)这是一个 Django 应用程序,我在 Docker 容器中运行;Gunicorn 正在该容器中运行,并设置为侦听端口 8000 ( gunicorn my_app.wsgi:application --bind 0.0.0.0:8000)。Nginx 面向公众(在 80 上监听)并在单独的容器中运行。Nginx 通过 docker-compose 设置的内部网络将请求发送到 Django 容器。

目前,我正在具有临时 IP 的云计算机上运行它。我已将其添加到我的 ALLOWED_HOSTS 中,以便它读取实际 IP 地址ALLOWED_HOSTS=['XX.XXX.XX.XX']该应用程序有效。xx.xxx.xx.xx

我的问题: 我的应用程序监控刚刚通知我一个明显的错误,内容如下:

api_1    | 2020-07-29 16:50:24,498 django.security.DisallowedHost.response_for_exception ERROR    
Invalid HTTP_HOST header: '0.0.0.0:8000'. You may need to add '0.0.0.0' to ALLOWED_HOSTS.
Run Code Online (Sandbox Code Playgroud)

不是我提出的请求——可能只是某个机器人。

我实际上应该添加0.0.0.0到吗ALLOWED_HOSTS?或者说这存在安全风险?这会允许虚假请求通过吗?0.0.0.0在我的 Django 应用程序上下文中这意味着什么?如果它只应该接收 nginx 服务器发送的请求,那么这些请求不应该都以 xx.xxx.xx.xx IP 作为主机标头吗?

我不一定希望所有这些机器人/扫描请求都用垃圾填满我的应用程序监控,这似乎不是一个“真正的”错误。我对网络的理解有限,所以如果这是一个简单的问题,我深表歉意。

谢谢!