Всем привет. Мне надо при проксировании добавить в начало /ecg-device/

к ури.
Хотел так:

location ~* ^/api/robot/(ping|login|uploadbdf|GetDeviceStatus) {
proxy_pass http://127.0.0.1:9011/ecg-device;
} но nginx не разрешает ури-проксирование в регулярнутых location. rewrite поможет или это не из той оперы? или остаётся только делать 4 простых локейшна и в них uri-part добавлять?

17 ответов

31 просмотр

Поможет. rewrite ^(.*) /ecg-device$1 break; Или даже так: rewrite ^ /ecg-device$uri break; И потом proxy_pass http://127.0.0.1:9011;

у тебя там регулярка в ,location-е, поэтому надо capture group использовать в proxy_pass

kiosaku
нафига rewrite-то?

Мы обсуждали это с тобой уже десяток раз. Это наилучший способ изменить URI, который будет передан на апстрим внутри именованного или заданного регулярным выражением location'а. Потому что то, что предлагаешь ты, в общем случае потребует resolver'а. В данном случае не потребует, потому что апстрим указан по IP.

Egor-Zagorskiy Автор вопроса
Johann
Поможет. rewrite ^(.*) /ecg-device$1 break; Или ...

пробовал реврайт, но до break не додумался, пасиба

Johann
Мы обсуждали это с тобой уже десяток раз. Это наил...

а resolver кстати синхронно резолвит? На каждое истечение ttl или valid параметра?

Dmitry Sergeev 🇺🇦
а resolver кстати синхронно резолвит? На каждое ис...

Асинхронно, он не блокирует worker-процесс. Именно поэтому nginx не может использовать системный и его надо указывать явно. Но это всё равно какие-то лишние периодические задержки.

а откуда они возьмутся? первый раз оно резолвится на старте, добавляется в апстрим, потом независимо от запросов, резолвится каждые ttl/valid секунд. Если не зарезолвилось из-за ошибки, то просто используется старый адрес, вместо остановки запросов. Задержек по идее нет никаких

Dmitry Sergeev 🇺🇦
а откуда они возьмутся? первый раз оно резолвится ...

Если в этом смысле асинхронно, то я не уверен. Надо уточнять.

Johann
Если в этом смысле асинхронно, то я не уверен. Над...

вот и мне интересно, вряд-ли же по истечении ttl/valid он блокирует запрос, чтобы сделать резолв. Иначе бы были тормоза каждые ttl секунд

Dmitry Sergeev 🇺🇦
вот и мне интересно, вряд-ли же по истечении ttl/v...

Вопрос хороший конечно. Можно проверить в какой-то песочнице, задать внутренний dns и смотреть его логи, придёт к нему запрос только когда прилетит запрос на nginx или нет.

Dmitry Sergeev 🇺🇦
а откуда они возьмутся? первый раз оно резолвится ...

что там "на старте резолвится", разверни мысль

в этом случае не используется директива resolver

kiosaku
в этом случае не используется директива resolver

если укажешь, используется. Более того, без нее ipv6 и не отрубишь

Dmitry Sergeev 🇺🇦
а откуда они возьмутся? первый раз оно резолвится ...

вот тут ты описал два _разных процесса резолвинга

kiosaku
вот тут ты описал два _разных процесса резолвинга

два процесса, и после обоих зарезолвенный адрес попадает в апстрим

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

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

1. https://www.kaggle.com/code/ahmadrezagholami2001/housing-estimation-linear-regression 2. https://www.kaggle.com/code/ahmadrezagholami2001/uncovering-quality-in-wines-logis...
Ahmadreza
1
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
Исходя из ваших комментариев, получается, что чтобы получить марты в CH из данных в PG, неправильно тянуть сырые данные в CH и там их обрабатывать, лепить справочники и джойни...
unhingedlunatic
42
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
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
Карта сайта