nginx proxy_pass к различным бэкэндам в зависимости от местоположения / передачи переписанного URL

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

 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;
      }

С этим конфигом nginx pass "/app1" или же "/app2"прокси и бэкэнд не распознает URL / команду..

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

0 ответов

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