Приветствую всех! Дела такие, 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 настроить. Помогите, товарищи, пожалуйста)