@androgeron
Свободный веб-разработчик

Как настроить nginx для бэкенда на django и фронтенда на nuxt.js?

Приветствую всех! Дела такие, nuxt, поднят через pm2 на порту 5006 в режиме server-side rendering. И есть django на том же сервере, на порту 5007 с помощью gunicorn, который служит только для запросов к api и для доступа в админ-панель.
Задача моя в том, чтобы через nginx проксировать запросы все на фронтенд, кроме запросов к /api/, /admin/ и, видимо, /static/. Домен один, сертификат от letsencrypt.

Я пытался сделать так, тупо прописав разные location:
server {
    server_name test.com www.test.com;
    gzip            on;
    gzip_types      text/plain application/xml text/css application/javascript;
    gzip_min_length 1000;
    include /etc/nginx/snippets/letsencrypt.conf;

    location / {
        include proxy_params;
        proxy_pass http://localhost:5006;
    }

    location /api/ {
        include proxy_params;
        proxy_pass http://unix:/home/path/to/core.sock;
    }
    location /admin/ {
        include proxy_params;
        proxy_pass http://unix:/home/path/to/core.sock;
    }
    location /static/ {
        root /home/path/to/staticfolder;
    }
    return 301 https://$host$request_uri;
}

server {
        listen 443 ssl http2;
        listen [::]:443 ssl http2 ipv6only=on;
        server_name test.com;
        include /etc/nginx/snippets/letsencrypt.conf;
        location / {
            include proxy_params;
            proxy_pass http://localhost:5006;
        }
        location /api/ {
            include proxy_params;
            proxy_pass http://unix:/home/path/to/core.sock;
        }
	location /admin/ {
            include proxy_params;
            proxy_pass http://unix:/home/path/to/core.sock;
        }
        location /static/ {
            root /home/path/to/staticfolder;
        }
        ssl_certificate /etc/path/to/fullchain.pem;
        ssl_certificate_key /etc/path/to/privkey.pem;
        ssl_trusted_certificate /etc/letsencrypt/live/test/fullchain.pem;
        include /etc/nginx/snippets/ssl.conf;
}


Эта конфигурация раздает nuxt, но по запросу к /api/ я получаю 502 Bad gateway от nginx. Данную связку хочу использовать всегда и везде, поэтому хотелось бы разобраться, как ее через nginx настроить. Помогите, товарищи, пожалуйста)
  • Вопрос задан
  • 1621 просмотр
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы