Nginx在子目录中提供Django - admin login是重定向的

时间:2018-02-20 20:18:51

标签: django nginx django-admin

我必须从子目录(hostname / service /)提供Django应用程序。到目前为止,我可以进入Admin Login提示符(hostname / service / admin / login /?next = / admin /),但成功登录后我被重定向到(hostname / admin / login /)并获取404 如何保留正确的子目录并进入“管理”面板?

这是nginx.conf服务器块:

public static boolean isHappy(String param)

编辑:这些是来自urls.py的网址模式:

server {
    listen 80;
    root  /usr/share/nginx/html/;
    charset utf-8;

    location /service {
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header Host $http_host;
      proxy_redirect off;
      proxy_pass http://djangoapp:8000/;
      proxy_set_header X-Real-IP $remote_addr;
    }

    location /static {
        alias /usr/src/app/static;
    }
}

1 个答案:

答案 0 :(得分:4)

您需要将FORCE_SCRIPT_NAME设置添加到settings.py中:

FORCE_SCRIPT_NAME = '/service'

请注意,最后没有尾随斜杠。