Nginx выдает 502 Bad Gateway

Я следую этому руководству этим репозиторием ) для развертывания моего проекта Django. Я добавил конфигурацию nginx, как описано, со всеми файлами и каталогами, кажется, совпадающими. Проект, который я пытаюсь развернуть, также имеет другие зависимости, такие как celery или selenium, но они нормально работают с docker-compose. Когда я запускаю docker-compose up, приложение запускается без ошибок (задачи celery выполняются и т.д.), а прокси выдает такой журнал:

suii-proxy-1        | 2023/01/26 08:43:00 [notice] 8#8: using the "epoll" event method
suii-proxy-1        | 2023/01/26 08:43:00 [notice] 8#8: nginx/1.23.3
suii-proxy-1        | 2023/01/26 08:43:00 [notice] 8#8: built by gcc 12.2.1 20220924 (Alpine 12.2.1_git20220924-r4) 
suii-proxy-1        | 2023/01/26 08:43:00 [notice] 8#8: OS: Linux 5.15.49-linuxkit
suii-proxy-1        | 2023/01/26 08:43:00 [notice] 8#8: getrlimit(RLIMIT_NOFILE): 1048576:1048576
suii-proxy-1        | 2023/01/26 08:43:00 [notice] 8#8: start worker processes
suii-proxy-1        | 2023/01/26 08:43:00 [notice] 8#8: start worker process 9
suii-proxy-1        | 2023/01/26 08:43:00 [notice] 8#8: start worker process 10
suii-proxy-1        | 2023/01/26 08:43:00 [notice] 8#8: start worker process 11
suii-proxy-1        | 2023/01/26 08:43:00 [notice] 8#8: start worker process 12
suii-proxy-1        | 2023/01/26 08:43:00 [notice] 8#8: start worker process 13

Но при попытке доступа к http://127.0.0.1 я получаю 502 Bad Gateway, как это:

enter image description here

С этой ошибкой в журнале:

suii-proxy-1        | 2023/01/27 07:10:28 [error] 11#11: *28 connect() failed (111: Connection refused) while connecting to upstream, client: 172.18.0.1, server: , request: "GET /favicon.ico HTTP/1.1", upstream: "uwsgi://172.18.0.6:9000", host: "127.0.0.1", referrer: "http://127.0.0.1/"
suii-proxy-1        | 172.18.0.1 - - [27/Jan/2023:07:10:28 +0000] "GET /favicon.ico HTTP/1.1" 502 559 "http://127.0.0.1/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36" "-"

Я новичок в nginx и wsgi, но мне интересно, правильно ли я выбрал upstream и/или client. Вот файлы, которые я использую для справки. Это proxy/default.conf.tpl:

server {
    listen ${LISTEN_PORT};

    location /static {
        alias /vol/static;
    }

    location / {
        uwsgi_pass              ${APP_HOST}:${APP_PORT};
        include                 /etc/nginx/uwsgi_params;
        client_max_body_size    10M;
    }
}

И proxy/Dockerfile:

FROM nginxinc/nginx-unprivileged:1-alpine
LABEL maintainer="londonappdeveloper.com"

COPY ./default.conf.tpl /etc/nginx/default.conf.tpl
COPY ./uwsgi_params /etc/nginx/uwsgi_params
COPY ./run.sh /run.sh

ENV LISTEN_PORT=8000
ENV APP_HOST=app
ENV APP_PORT=9000

USER root

RUN mkdir -p /vol/static && \
    chmod 755 /vol/static && \
    touch /etc/nginx/conf.d/default.conf && \
    chown nginx:nginx /etc/nginx/conf.d/default.conf && \
    chmod +x /run.sh

VOLUME /vol/static

USER nginx

CMD ["/run.sh"]

Это proxy/run.sh:

#!/bin/sh

set -e

envsubst < /etc/nginx/default.conf.tpl > /etc/nginx/conf.d/default.conf
nginx -g 'daemon off;'

И scripts/run.sh:

#!/bin/sh

set -e

python manage.py wait_for_db
python manage.py collectstatic --noinput
python manage.py migrate
celery -A suii worker -l INFO
celery -A suii beat -l INFO

uwsgi --socket :9000 --workers 4 --master --enable-threads --module suii.wsgi

А также сценарий docker-compose-deploy.yml:

version: '3.9'

services:
  app:
    build:
      context: .
    restart: always
    volumes:
      - static-data:/vol/web
    environment:
      - DB_HOST=db
      - DB_NAME=${DB_NAME}
      - DB_USER=${DB_USER}
      - DB_PASS=${DB_PASS}
      - SECRET_KEY=${SECRET_KEY} 
      - ALLOWED_HOSTS=${ALLOWED_HOSTS}
      - CELERY_BROKER=${CELERY_BROKER}
      - CELERY_BACKEND=%{CELERY_BACKEND}
    depends_on:
      - db
    
  db:
    image: postgres
    restart: always
    volumes:
      - postgres-data:/var/lib/postgresql/data
    environment:
      - DB_NAME=${DB_NAME}
      - DB_USER=${DB_USER}
      - DB_PASS=${DB_PASS}
      - TZ=${TZ}
    
  proxy:
    build:
      context: ./proxy
    restart: always
    depends_on:
      - app
    ports:
      - 80:8000
    volumes:
      - static-data:/vol/static

Похоже, что сервер nginx указывает в неверном направлении, где ошибка, которая не позволяет ему указать на приложение django?

Вот как выглядит мой рабочий стол Docker, если это будет полезно:

enter image description here

Я думаю, что вы должны добавить порт после http://127.0.0.1

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