【问题标题】:Django: https://127.0.0.1:8000 not working in djangoDjango:https://127.0.0.1:8000 在 Django 中不起作用
【发布时间】:2020-12-09 04:47:50
【问题描述】:

长话短说,我创建了一个 django 项目,并使用了 django for professional book 2.2 作为参考(在模型中添加了更多字段)。但是,一旦我到达安全章节并尝试在终端中运行 docker 命令,就会出现编程错误。

在研究并尝试调试后,我决定从项目中删除所有迁移,从 docker 容器中删除卷,并删除/注释掉某些文件/代码。

从这里,我重新运行了所有迁移,现在当我检查我的终端时,我仍然得到 21 个未应用的迁移和“在http://0.0.0.0:8000/" 启动开发服务器。当我点击链接时,我得到“不允许的主机在 / ...无效的 HTTP_HOST 标头:..."

我只是想知道出了什么问题,因为在我看来,我的 docker-compose.yml 和 settings.py 似乎导致了这个错误。我正在尝试让我的终端获取“https://127.0.0.1:8000/”的链接。

settings.py:我使用的是 postgres 数据库

DEBUG = int(os.environ.get('DEBUG', default=0))

ALLOWED_HOSTS = []

docker-compose.yml:我遗漏了密钥

version: '3.8'

services:
  web:
    build: .
    command: python /code/manage.py runserver 0.0.0.0:8000
    environment:
      - DEBUG=1
      - ENVIRONMENT=development
    volumes:
      - .:/code
    ports:
      - 8000:8000
    depends_on:
      - db

  db:
    image: postgres:12.3
    volumes:
      - postgres_data:/var/lib/postgresql/data/

volumes:
  postgres_data:

旁注:在删除编程错误和删除迁移之前,即使我的 docker-compose.yml 中有 0.0.0.0:8000,我也能够让 127.0.0.1:8000 工作。

非常感谢任何帮助。

【问题讨论】:

  • 尝试将其添加到允许的主机,例如 , ALLOWED_HOSTS = ['localhost', '0.0.0.0']
  • “我能够让 127.0.0.1:8000 工作,即使我的 docker-compose.yml 中有 0.0.0.0:8000。” - 那就是不奇怪。 0.0.0.0 表示监听所有可用的 IP 地址。 127.0.0.1 就是其中之一……除非您的网络有严重的压力。
  • @StephenC,感谢您的回复。我假设我的网络有些奇怪。
  • 如果您认为问题出在您的网络上,那么这里是一个错误的问题。试试serverfault.com 或者unix.stackexchange.com
  • @tahamaatof,我尝试了以下允许的主机,但不幸的是,它不起作用。

标签: python python-3.x django docker


【解决方案1】:

好的。我能够弄清楚为什么我无法让https://127.0.0.1:8000 在 django 中工作。代码没有问题,但我所要做的就是刷新浏览器上的缓存(在本例中,它是 firefox)。

【讨论】:

    【解决方案2】:

    如果您只想通过 python 网络服务在 https 端口上为您的网站提供服务,您可以使用https://github.com/teddziuba/django-sslserver

    但最佳实践是使用 django + wsgi + Nginx

    在 docker 映像上,您可以使用任何 wsgi 脚本(例如(wsgi 或 gunicorn))开始您的项目

    wsgi 脚本为您的项目处理工作人员。

    然后使用 Nginx 完成请求处理,并使用 Nginx 处理 https 证书,并且您的 Django 项目仅在 http 端口或 linux 套接字文件上运行。

    【讨论】:

      猜你喜欢
      • 2018-01-20
      • 1970-01-01
      • 2020-03-07
      • 2018-04-17
      • 1970-01-01
      • 1970-01-01
      • 2020-12-17
      • 1970-01-01
      • 2022-08-03
      相关资源
      最近更新 更多