django - 使用 Docker 时如何在生产中设置 ALLOWED_HOSTS Django 设置?

标签 django docker

我总是设置我的 ALLOWED_HOSTS来自 Django 中的环境变量。在我的发展中 .env我总是设置ALLOWED_HOSTS=.localhost,.127.0.0.1并在生产 ALLOWED_HOSTS=mydomain.dom,my_ip_address
现在我正在熟悉 Docker,问题是 ALLOWED_HOSTS 的值是什么?在生产中。它是否应该保留为 localhost,因为我知道 localhost 将引用主机容器,或者我应该将其设置为我的域。我正在使用 Nginx 进行反向代理来转发请求。

最佳答案

您应该将其设置为您的域。 ALLOWED_HOSTS用于判断请求是否来自正确的域名。

如果你看 the docs for ALLOWED_HOSTS ,您会看到它与请求的 Host 进行了比较 header ,由访问您网站的人的用户代理设置。

因此,尽管 Docker 容器服务于它自己的本地主机,但请求来自 example.com
退房 this part of the docs确切了解为什么需要验证主机 header ,您可能会更好地理解 ALLOWED_HOSTS 的目的。

关于django - 使用 Docker 时如何在生产中设置 ALLOWED_HOSTS Django 设置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57920619/

相关文章:

python - Django表单不会显示错误

使用远程身份验证的 Django 用户注销

docker - 如何使用Docker-Compose文件运行Phpmyadmin,Mysql和Apache Tomcat?

c# - Visual Studio docker 工具在调试时发布端口

postgresql - Docker PostgreSQL 服务 : could not bind IPv6 socket: Cannot assign requested address

python - 使用 Python SDK 等待 Docker 容器开始运行

python - Django Rest 框架序列化程序关系 : How to get a list of only the latest track?

python - Django channel 中的多个 websocket.receive

python - django apache mod-wsgi 挂起从 .so 文件导入 python 模块

docker - Dockerfile和.net核心镜像