Привет подскажите можно ли передавать в прокси адрес относительный локации?

тоесть например у меня 2 одинаковых приложения у которых эндпоинт /files на одно приложение идёт путь location / (И по запросу /files всё естественно работает), а я хочу добавить новую локацию location /app и мне нужно чтоб приложение работало в этой локации и отдавало /app/files

8 ответов

27 просмотров

location /app { proxy_pass scheme://upstream/app/files; }

OK386- Автор вопроса
Johann
location /app { proxy_pass scheme://upstream/a...

но я так понимаю мне в самом приложении надо делать изменения и добавлять app ко всем эндпоинтам?

OK386
но я так понимаю мне в самом приложении надо делат...

А что там за приложение на бекэнде? Я думал, там статика какая-то С приложением возможны нюансы

OK386- Автор вопроса
Johann
А что там за приложение на бекэнде? Я думал, там с...

ну там node js express приложение там указано app,get('/files' ...)

OK386- Автор вопроса

реверс прокси nginx. Тоесть мне нужно чтоб он как бы транслировал запросы /app в / для самого приложения. Если это возможно конечно

OK386
реверс прокси nginx. Тоесть мне нужно чтоб он как ...

Добавлю про слеш и про любителей потроллить Вот так: location /app { proxy_pass scheme://upstream; } Запрос "/app/files/route" будет передан на апстрим 1:1, поскольку после имени апстрима в proxy_pass нету никакого URI-префикса. А вот так: location /app { proxy_pass scheme://upstream/; } Запрос "/app/files/route" будет передан на апстрим как "//files/route", что из-за двойного слеша апстримом может быть воспринято некорректно. А способ корретно отрезать только "/app" остаётся только один, через rewrite ... break: location /app { rewrite /app/?(.*) /$1 break; proxy_pass scheme://upstream; } Но это гораздо менее производительно (вызов библиотеки PCRE вместо банальной замены одной строки на другую), костыль, и как правило используется только из-за незнания способа № 1. Более того, сплошь и рядом втречающиеся конструкции типа location /app { rewrite /app/(.*) /$1 break; proxy_pass scheme://upstream; } ещё более некорректны, rewrite не отработает, если URI запроса строго равен "/app" - такой URI не матчится шаблоном "/app/(.*)" (в отличие от "/app/?(.*)").

OK386- Автор вопроса

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

Обсуждают сегодня

Hi! Could you please upvote my new notebook? thanks a lot. https://www.kaggle.com/code/melissamonfared/anime-character-generation-dsgan-gan
məru
4
upvote plz https://www.kaggle.com/code/bassetkerouche/swapping-face?scriptVersionId=207300096
benkerrouche Statoinary
1
-- Привет всем. -- Есть csv, проблема в том что он содержит очень много повторов по столбцам и по строкам. -- Решил перекинуть это в базу данных, чтобы было проще. Но я не ша...
Oleg Ivanov
1
Как считаете - вопрос на собесе: «Как быстрее всего запустить ec2 машину в aws (в чистом аккаунте) и показать вывод от любой команды с нее» не очень ли сложный для условного м...
Sergey
50
Господа, у меня вопрос. Что вообще такое этот ваш data science и data scientists? А то гуглю, а мне какую-то расплывчатую фигню говорят.
Inkosta
44
Hi could you please help me with my two new projects? https://www.kaggle.com/code/hesankazemnia/rice-image-classification-cnn-pytorch https://www.kaggle.com/code/hesankazemnia...
Hesan
6
Исходя из ваших комментариев, получается, что чтобы получить марты в CH из данных в PG, неправильно тянуть сырые данные в CH и там их обрабатывать, лепить справочники и джойни...
unhingedlunatic
42
hi, Can you upvote? https://www.kaggle.com/code/durjoychandrapaul/rag-q-a-system-by-langchain-huggingface-for-pdf?scriptVersionId=204704280
A
1
Could you upvote and comment please? https://www.kaggle.com/code/tatianapetrushkevich/beginner-images https://www.kaggle.com/code/tatianapetrushkevich/python-for-beginners1 ...
Tazziyana
7
Коллеги, приветствую! Появилась не совсем тривиальная задача реализовать в nginx редирект HTTPS —> HTTP. Да, именно так, а не наоборот. Мы разрабатываем embedded устройство,...
Никита
24
Карта сайта