Servidor proxy Nginx - mapeie para sites separados com base no caminho da URL

Servidor proxy Nginx - mapeie para sites separados com base no caminho da URL

Estou tentando configurar um servidor proxy para que

proxy-server.com/app1  -->  website1.com
proxy-server.com/app2  -->  website2.com
  1. Não deve haver nenhum redirecionamento para o aplicativo back-end real. O usuário deve ver apenas proxy-server.com/app[1/2]no URL.
  2. Todos os recursos estáticos devem carregar bem. Por exemplo, um recurso /js/sample.jsdo app2 deve solicitar o local/app2/js/sample.js
  3. Quando eu executo uma ação, por exemplo, enviar um formulário ou navegar para outra página no app2, a solicitação deve ser anexada /app2para que seja enviada por proxy para o endereço correto
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;
          }
     }
}

A configuração corrige apenas o ponto 1, mas estou lutando muito para encontrar uma solução para os outros dois pontos mencionados acima. Estou procurando uma solução limpa, só para mencionar que tentarei evitar ifdeclarações ou sub_filtermódulos :)

informação relacionada