Прямой запрос Nginx на основе параметра URL
Сценарий:
Веб-запросы поступают в nginx через порт 80. Мне нужно перенаправлять запросы на основе параметра URL.
Если URL содержит userId=foo
в любом месте URL, то он должен попасть на сервер A
и если URL содержит userId=bar
в любом месте URL, то он должен попасть на сервер B
Какой вариант конфигурации я могу использовать для достижения этой цели?
1 ответ
Решение
/ И т.д. / Nginx/ сайты-отсутствуют / по умолчанию
server {
listen 80;
server_name example.com;
location ~ userId=foo {
return 301 http://domainOfServerA$request_uri;
}
location ~ userId=bar {
return 301 http://domainOfServerB$request_uri;
}
}
В любом случае, если bar/foo является переменной, вы должны написать для этого регулярное выражение.