【问题标题】:Django + GUnicorn ASGI with SCRIPT_NAME带有 SCRIPT_NAME 的 Django + GUnicorn ASGI
【发布时间】:2022-08-12 13:25:11
【问题描述】:

我有一个使用 gunicorn ASGI 服务器和 NGINX 反向代理运行静态内容的 Django 应用程序。所有这些都打包在一个 docker 容器中。
现在我想在带有路径前缀的反向代理后面提供这个容器,例如\"mydomain.com/djangoapp/\"。问题是,Django 不知道它托管在子路径下,例如,Django 管理应用程序总是重定向到根路径 \"/\" 而不是 \"/djangoapp/\"。

我已经读到有几个设置可以处理这个问题。

  1. 我尝试将 Django 设置中的 \"FORCE_SCRIPT_NAME\" 直接设置为 \"/djangoapp\"。它适用于管理员登录页面,但在单击登录按钮后,它重定向到错误的根目录 \"/\"。

  2. 我尝试将 gunicorn 服务器的 \"SCRIPT_NAME\" 环境变量设置为 \"/djangoapp\"。它根本不适用。

    我现在已经没有什么可以尝试的想法了。其他人有解决这个问题的方法吗?

    标签: django docker reverse-proxy gunicorn asgi


    【解决方案1】:

    FORCE_SCRIPT_NAME 应该可以工作。对于登录后重定向,您需要正确设置LOGIN_REDIRECT_URL

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-10-14
      • 2013-03-22
      • 2021-11-07
      • 2019-03-22
      • 2014-09-11
      • 2021-09-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多