Django + nginx на Docker (400) Bad Request
Хотя я перепробовал все методы, описанные в StackOverFlow, я не могу решить проблему. Когда я хочу войти на свой сайт, появляется ошибка.
Что я пробовал
- РАЗРЕШЕННЫЕ_ХОСТЫ = ['*']
- Удаление подчеркивания из названия хостов
- Установка имени upstream в nginx.conf
- Помещение некоторых вещей для nginx.conf в виде следующего nginx.conf файла .
settings.py
ALLOWED_HOSTS = os.environ.get("DJANGO_ALLOWED_HOSTS").split(" ")
env.prod
DEBUG=Fault
DJANGO_ALLOWED_HOSTS=localhost 127.0.0.1 [::1] ecap
nginx.conf
upstream ecap {
server web:8000;
}
server {
listen 80;
location / {
proxy_pass http://ecap;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
proxy_redirect off;
}
location /staticfiles/ {
alias /home/app/web/staticfiles/;
}
location /mediafiles/ {
alias /home/app/web/mediafiles/;
}
}
docker-compose.prod.yml
version: '3.8'
services:
web:
build:
context: ./app
dockerfile: Dockerfile.prod
command: gunicorn ecap.wsgi:application --bind 0.0.0.0:8000
volumes:
- static_volume:/home/app/web/staticfiles
- media_volume:/home/app/web/mediafiles
expose:
- 8000
env_file:
- ./.env.prod
depends_on:
- db
db:
image: postgres:13.0-alpine
volumes:
- postgres_data:/var/lib/postgresql/data/
env_file:
- ./.env.prod.db
nginx:
build: ./nginx
volumes:
- ./static_volume:/home/app/web/staticfiles
- ./media_volume:/home/app/web/mediafiles
ports:
- 1337:80
depends_on:
- web
volumes:
postgres_data:
static_volume:
media_volume:
log
ecap5-nginx-1 | 192.168.192.1 - - [15/Oct/2022:10:17:30 +0000] "POST /login/%7Burl%20'Login'%20%%7D HTTP/1.1" 400 157 "-" "-" "-"
Я ценю ваше сотрудничество.