子路径上的 Traefik 和 Django

Traefik and Django on a Subpath

我想使用 Traefik 和 Django 在 Docker 内部实现以下设置:

我的 docker-compose.yml 包含以下容器标签:

我为 app2 做了同样的事情。

在我设置的两个应用程序的 settings.py 中:FORCE_SCRIPT_NAME = env('FORCE_SCRIPT_NAME', default=None) 然后应该通过我有 FORCE_SCRIPT_NAME=/app1.

的 ENV 文件解析

在 Django 方面,我总是收到 404 消息,提示此路径不存在,我应该从现有路径中选择。

Django 将 URL 识别为 http://my.host.de/app1 并告诉我 The current path, app1, didn't match any of these.

编辑:由于我的设置被认为既适用于开发环境也适用于生产环境,因此我使用内置服务器的 Django 以及用于 运行 Django 应用程序的 Gunicorn。

如果你想传递一个 SCRIPT_NAME header 给 django,你必须在创建中间件时使用 customrequestheaders 而不是 customresponseheaders