Nginx не может обслужить Django url через Docker-контейнер Gunicorn

Я пытаюсь развернуть мое приложение Django Docker с Nginx и Gunicorn.Я следовал этому учебнику.Мне также удалось запустить мое приложение Django на :8000 и Nginx на :80, я могу достичь и :80 и :8000, но когда я пытаюсь подключиться, например, к :80/app я просто получаю 404, в то же время я могу подключиться к :8000/app.

Мой основной файл Docker выглядит так:

FROM python:3.10.6-alpine

RUN pip install --upgrade pip

COPY ./requirments.txt .
RUN pip3 install -r requirments.txt

COPY ./proto /app
WORKDIR /app 

COPY ./entrypoint.sh /
ENTRYPOINT [ "sh", "/entrypoint.sh" ]

это запуск моего файла entrypoint.sh:

python manage.py migrate --no-input
python manage.py collectstatic --no-input

gunicorn proto.wsgi:application --bind 0.0.0.0:8000`

и мой compose.yml выглядит так:


version: '3.7'

services:
  django_proto:
    volumes:
      - static:/static
    env_file:
      - .env
    build:
      context: .
    ports:
      - "8000:8000"

  nginx:
    build: ./nginx
    volumes:
      - static:/static
    ports:
      - "80:80"
    depends_on:
      - django_proto

volumes:
  static:

и мой default.conf:

upstream django {
    server django_proto:8000;
}

server {
    listen 80;

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

    location / {
        proxy_set_header Host $http_host;
        proxy_pass http://django;

        proxy_redirect off;
    }      
}

и Docker-файл Nginx:

FROM nginx:1.19.0-alpine

COPY ./default.conf /etc/nginx/conf.d/default.conf

Я пробовал разные конструкции папок, потому что думал, что просто пытаюсь подключиться к неправильному пути к папке, я также пробовал разные порты и даже закрыл свой брандмауэр на случай, если он блокирует соединение.

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