Nginx Прокси-сервер - сопоставление с отдельными веб-сайтами на основе пути в URL - PullRequest
0 голосов
/ 24 января 2020

Я пытаюсь настроить прокси-сервер таким образом, чтобы

proxy-server.com/app1  -->  website1.com
proxy-server.com/app2  -->  website2.com
  1. Не было перенаправления на реальное фоновое приложение. Пользователь должен видеть только proxy-server.com/app[1/2] в URL.
  2. Все ресурсы stati c должны нормально загружаться. Например, ресурс /js/sample.js из app2 должен запрашивать из местоположения /app2/js/sample.js
  3. Когда я выполняю действие, например, отправляю форму или перехожу на другую страницу в app2, запрос должен начинаться с /app2, поэтому он проксируется правильный адрес
http {
  upstream webapp1 {
      server website1.com:443;
    }

    upstream webapp2 {
      server website2.com:443;
    }


     server {
          listen 80;
          listen 443 ssl;
          server_name   proxy-server.com;

          # certificate section

          location /app1 {
            proxy_pass https://webapp1/;
            proxy_set_header Host            website1.com;
          }

          location /app2 {
            proxy_pass https://webapp2/;
            proxy_set_header Host            website1.com;
          }
     }
}

Конфиг только исправляет пункт 1, но я изо всех сил пытаюсь найти решение для двух других упомянутых выше пунктов. Я ищу чистое решение, просто упомяну, что я постараюсь избегать if операторов или sub_filter module:)

...