Подтвердить что ты не робот

Nginx за место/пропуск перезаписывать uri для proxy_pass

Какое самое быстрое и чистое решение, если вы хотите прокси URL-запрос на два разных бэкэнда через proxypass на основе местоположения.

location /app1/ {
    alias /var/www/ruby/public;
    proxy_set_header  X-Real-IP  $remote_addr;
    proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header  Host $http_host;
    proxy_redirect    off;
    try_files $uri $uri/ @ruby;
}

location @ruby {
    proxy_pass http://127.0.0.1:3000;
}

location /app2/ {
    proxy_set_header  X-Real-IP  $remote_addr;
    proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header  Host $http_host;
    proxy_redirect    off;
    try_files $uri $uri/ @other;
}

location @other {
    proxy_pass http://127.0.0.1:8080;
}

При этом config nginx pass "/app1" или "/app2" для прокси и бэкэнд не распознает url/команду.

как, например, хотел бы перейти на http://127.0.0.1:3000 только /messages при доступе к http://<nginx>/app1/messages, но в приведенной выше конфигурации также передать /app1/ как http://127.0.0.1:3000/app1/messages. То же самое касается /app2

4b9b3361