@Ilya_00

Как настроить проксирование nginx.conf на фронтенд?

Добрый день!
Настраиваю Nginx для совместной работы backend и frontend приложений своего проекта, сервисы развернуты через Docker.

1. Подключил конфигурационный файл nginx.conf, задав проксирование на backend по location = /api/, указал необходимые параметры заголовков:
upstream backend {
    server backend:8000;
}
server {
    listen 80;
    server_name localhost;

    location /api/ {
        proxy_pass http://backend;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }

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


В данной конфигурации все работает исправно, открываются реализованные страницы через 3000 порт (localhost:3000/account/, к примеру), все необходимые ручки backend-стороны отвечают, проксируясь сперва на 80-й порт nginx-a, а после на 8000-й backend приложения.

2. Далее, пытаюсь подключить location "/" для frontend-части:
upstream backend {
    server backend:8000;
}

upstream frontend {
    server frontend:3000;
}

server {
    listen 80;
    server_name localhost;

    location /api/ {
        proxy_pass http://backend;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }

    location / {
        proxy_pass http://frontend;
        proxy_http_version 1.1;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }

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


В данной конфигурации, реализованные страницы front-приложения по пути localhost/account/ (и других) не открываются, при этом, доступность через 3000-й порт контейнера сохраняется.
В чем может быть проблема? Возможно что-то элементарное упускаю.

Nginx отрисовывает подобные логи (кэш пробовал чистить):
project-nginx-1 | 171.22.0.1 - - [14/Mar/2024:18:32:17 +0000] "GET /login/ HTTP/1.1" 304 0 "127.0.0.1/account" "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Mobile Safari/537.36" "-"


Буду благодарен за любой совет, благодарю!
  • Вопрос задан
  • 222 просмотра
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы