Задать вопрос
@EmachinesDIMA
junior DevOps

Как задать иной от «/» блок расположения nginx для исключения конфликта независимой работы разных сервисов?

Подскажите пожалуйста, как отключить обработку сервером nginx блока расположения корневого uri - "/" ?

У меня есть несколько сервисов. Их я реализовал отдельными репозиториями.
"Backend" сервис и "react-front" сервис.
Всё реализовано с помощью docker (compose).

Если я запускаю сервисы на портах :
ports: 808x:80 - сервисы доступны и прекрасно обрабатывают.
Если я определяю через expose : 80
то поперменно открывается то "корень" бэка, то фронта и Не обрабытывается bundle.js - он его не может найти.
Мне же нужно определить, чтобы front открывался по начальному пути "/front" , избегая обработки "/" .

Я пробовал такую реализацию - https://docs.nginx.com/nginx/admin-guide/web-serve...

location / {
    try_files $uri $uri/ @front;
}

location @front {
    add_header Content-Security-Policy ...;
        root /var/www/front;
        try_files $uri $uri/ /index.html$is_args$args;
}


но это ничего не даёт.

Я знаю! что нельзя не указывать корневой блок расположения "/", но и не знаю как обойти данную реализацию.

Задача: сервисы должны работать независимо и обрабатывать запросы back<->front .

да, они в одной сети. И под капотом jwilder и/или traefik.
  • Вопрос задан
  • 72 просмотра
Подписаться 1 Средний 1 комментарий
Пригласить эксперта
Ответы на вопрос 1
ky0
@ky0 Куратор тега Nginx
Миллиардер, филантроп, патологический лгун
Ну так не проксируйте с / на ваш бэк, обрабатывайте корень как-то иначе (редирект, возврат кода ошибки). Делов-то.
Ответ написан
Ваш ответ на вопрос

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

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