Невозможно войти на сайт администратора django с помощью nginx

У меня есть проблема с входом в админку сайта django, что является почти тем же самым вопросом . пять лет назад. К сожалению, до сих пор нет конкретного ответа. Вот краткое введение к вопросу.

Мой nginx обслуживает 80 порт и проксирует все URL, начинающиеся с prefix на 8000 порт, который Django прослушивает.

location /prefix/ {
  proxy_pass http://0.0.0.0:8000/;
}

при доступе к /prefix/admin/, он выдает 302 и перенаправляет на /admin/login/?next=/admin/. Однако, если мы обращаемся к /prefix/admin/login, он работает, и у нас появляется страница входа в Django Administration, как показано ниже.

enter image description here

Однако, если мы пытаемся войти в систему (url - /admin/login/) с именем пользователя и паролем, он выдает 404.

Позвольте мне подвести итог, здесь у нас в общей сложности два вопроса.

  1. prefix/admin не работает, prefix/admin/login работает.

  2. Вход в админку сайта (admin/login) не работает.

Первый вопрос был решен

location /prefix/admin/ {
  proxy_pass http://0.0.0.0:8000/admin/login/;
}

Второй вопрос, однако, не работает следующим образом.

location = /admin/login {
  proxy_pass http://0.0.0.0:8000/admin/;
}

Он сказал мне, что у меня слишком много перенаправлений. Как я могу это исправить? Заранее спасибо.

Вернуться на верх