Прямой запрос 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 является переменной, вы должны написать для этого регулярное выражение.

Другие вопросы по тегам