【发布时间】:2022-08-12 13:25:11
【问题描述】:
我有一个使用 gunicorn ASGI 服务器和 NGINX 反向代理运行静态内容的 Django 应用程序。所有这些都打包在一个 docker 容器中。
现在我想在带有路径前缀的反向代理后面提供这个容器,例如\"mydomain.com/djangoapp/\"。问题是,Django 不知道它托管在子路径下,例如,Django 管理应用程序总是重定向到根路径 \"/\" 而不是 \"/djangoapp/\"。
我已经读到有几个设置可以处理这个问题。
-
我尝试将 Django 设置中的 \"FORCE_SCRIPT_NAME\" 直接设置为 \"/djangoapp\"。它适用于管理员登录页面,但在单击登录按钮后,它重定向到错误的根目录 \"/\"。
-
我尝试将 gunicorn 服务器的 \"SCRIPT_NAME\" 环境变量设置为 \"/djangoapp\"。它根本不适用。
我现在已经没有什么可以尝试的想法了。其他人有解决这个问题的方法吗?
标签: django docker reverse-proxy gunicorn asgi