(Плохой шлюз) ERROR 502 Nginx, Gunicorn, Django DRF, Vue.js

Я развернул ecommerce, сделанный с помощью Django и Vue.js на VPS. Все работает хорошо, но когда я пытаюсь использовать метод POST, в консоли появляется ошибка 502 и ничего не происходит. API может показывать товары из Django Admin, но я не могу ничего опубликовать из фронтенда. Это всегда дает мне эту ошибку 502. Я пытаюсь решить эту проблему уже несколько дней и до сих пор не могу понять, в чем дело. Надеюсь, вы сможете помочь. Спасибо!

upstream perulab_app_server {
    server unix:/webapps/perulab/venv/run/gunicorn.sock fail_timeout=0;
}



server {
    listen 8000;
    listen [::]:8000;
    server_name 172.16.7.52;

    client_max_body_size 40M;


    location / {
        root /webapps/perulab/web-frontend/dist;
        try_files $uri /index.html;
        index index.html index.htm;
    }

    location /static/ {
        root /webapps/perulab/web-backend;
    }

    location /media/ {
        root /webapps/perulab/web-backend;
    }
    
    location /api/ {
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-NginX-Proxy true;
        proxy_pass http://perulab_app_server/api/;
        proxy_ssl_session_reuse off;
        proxy_set_header Host $http_host;
        proxy_redirect off;
    }

    location /admin/ {
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-NginX-Proxy true;
        proxy_pass http://perulab_app_server/admin/;
        proxy_ssl_session_reuse off;
        proxy_set_header Host $http_host;
        proxy_redirect off;
    }
}

Когда я пытаюсь запустить gunicorn --bind 172.16.7.52:8000 core.wsgi вот что появляется:

[2021-09-27 14:55:59 -0500] [230558] [INFO] Starting gunicorn 20.1.0
[2021-09-27 14:55:59 -0500] [230558] [ERROR] Connection in use: ('172.16.7.52', 8000)
[2021-09-27 14:55:59 -0500] [230558] [ERROR] Retrying in 1 second.
[2021-09-27 14:56:00 -0500] [230558] [ERROR] Connection in use: ('172.16.7.52', 8000)
[2021-09-27 14:56:00 -0500] [230558] [ERROR] Retrying in 1 second.
[2021-09-27 14:56:01 -0500] [230558] [ERROR] Connection in use: ('172.16.7.52', 8000)
[2021-09-27 14:56:01 -0500] [230558] [ERROR] Retrying in 1 second.
[2021-09-27 14:56:02 -0500] [230558] [ERROR] Connection in use: ('172.16.7.52', 8000)
[2021-09-27 14:56:02 -0500] [230558] [ERROR] Retrying in 1 second.
[2021-09-27 14:56:03 -0500] [230558] [ERROR] Connection in use: ('172.16.7.52', 8000)
[2021-09-27 14:56:03 -0500] [230558] [ERROR] Retrying in 1 second.
[2021-09-27 14:56:04 -0500] [230558] [ERROR] Can't connect to ('172.16.7.52', 8000)

Похоже, что что-то занимает место, поэтому для того, чтобы эта команда сработала, мне сначала нужно убить все процессы, а затем запустить эту команду. После этого все веб-приложение падает.

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

Я смог решить эту проблему. В этом случае описанная выше настройка была в порядке. Все API работали, кроме тех, которые отправляли электронные письма. Таким образом, проблема заключалась в почтовом сервере, где я не мог отправлять электронные письма с DNS. Как только эта проблема была решена, все стало работать нормально.

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