Estou tentando configurar um servidor proxy para que
proxy-server.com/app1 --> website1.com
proxy-server.com/app2 --> website2.com
- 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. - Todos os recursos estáticos devem carregar bem. Por exemplo, um recurso
/js/sample.js
do app2 deve solicitar o local/app2/js/sample.js
- 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
/app2
para 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 if
declarações ou sub_filter
módulos :)