@Cruach

Как изменить в nginx запрос при proxy_pass?

Стоит задача перенаправить запрос. В простом виде все работает отлично:
location /api/v2/test/query {
    proxy_set_header Host $http_host;
    proxy_pass http://127.0.0.1:11111/api/v1/test/query;
}


Но с переменными это не работает, что естественно.
location /api/v2/test/-|[0-9a-fA-F]+/query {
    proxy_set_header Host $http_host;
    proxy_pass http://127.0.0.1:11111/api/v1/test/-|[0-9a-fA-F]+/query;
}


Нужно сделать rewrite и v2 заменить на v1. Часть -|[0-9a-fA-F]+ должна передаться дальше в виде пришедшем в запросе. Сделать это у меня не получается. Вопрос, как я понимаю, примитивный, но не выходит и я вынужден обратиться за помощью.
  • Вопрос задан
  • 1056 просмотров
Пригласить эксперта
Ответы на вопрос 2
@dodo512
location ~ ^/api/v2/test/((-|[0-9a-fA-F]+)/query.*) {
    proxy_set_header Host $http_host;
    proxy_pass http://127.0.0.1:11111/api/v1/test/$1;
}
Ответ написан
Комментировать
Lynn
@Lynn
nginx, js, css
А что не работает в таком простом варианте?
location /api/v2/test/ {
    proxy_set_header Host $http_host;
    proxy_pass http://127.0.0.1:11111/api/v1/test/;
}
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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