как получить параметр URL и передать в proxy_pass с помощью nginx - PullRequest
0 голосов
/ 24 ноября 2018

Мне нужно получить параметр из URL, например, abc = MY_STRING:

https://my-address/test?abc=MY_STRING

А на обратном прокси (my-address) настроен так:

location /test?(.*) {
  proxy_pass http://local-server:1234/test?$args
}

но он не работает.

Я пробовал другую конфигурацию:

location /test?(.*) {
  proxy_pass http://local-server:1234/test?$1
}

, но тоже не работал.

1 Ответ

0 голосов
/ 24 ноября 2018

Нельзя сопоставить часть строки запроса URI с оператором location или rewrite, поскольку он не является частью нормализованного URI .

Но вы неТ надо.URI (вместе со строкой запроса) будет передан в восходящий поток, если вы не перенаправите его с помощью оператора rewrite или try_files.

Например:

location /test {
    proxy_pass http://localhost:1234;
}

URI /test?abc=MY_STRINGбудет соответствовать местоположению и будет передан в localhost:1234 точно так же.Подробнее см. в этом документе .

...