Как настроить NGINX, чтобы использовать значение параметра запроса в proxy_pass?

Как настроить проксирование запроса с использованием proxy_pass для адреса "http://mysite.ru:8080/abc", когда запрос направлен на "http://192.168.1.1/proxy?query_url=http://mysite.ru:8080/abc"?
  • 28 декабря 2023 г. 1:27
Ответы на вопрос 2
Для настройки NGINX, чтобы использовать значение параметра запроса в proxy_pass, вы можете использовать переменную $arg_name, где "name" - имя параметра запроса.

В вашем случае, чтобы проксировать запрос с использованием proxy_pass для адреса "http://mysite.ru:8080/abc", вы можете использовать следующую конфигурацию:

```nginx
server {
   listen 80;
   server_name 192.168.1.1;

   location /proxy {
      proxy_pass $arg_query_url; # Используем значение параметра запроса в proxy_pass
   }
}
```

Теперь, когда вы направляете запрос на "http://192.168.1.1/proxy?query_url=http://mysite.ru:8080/abc", NGINX будет использовать значение параметра "query_url" в proxy_pass и проксировать запрос на "http://mysite.ru:8080/abc".
Помоему так. 

P.S. Можно ещё проверок всяких накрутить, есть в query_url указание http:// или нет... Хотя, NGINX должен с этим сам справиться, есть же у его какие-то умолчания.
Похожие вопросы