Ho due applicazioni Web (app express.js node.js), web1
e web2
. Queste app Web si aspettano di essere ospitate su siti che sono tipicamente qualcosa come http://www.web1.com
e http://www.web2.com
. Mi piacerebbe ospitarli dietro un reverse proxy nginx come https://www.example.com/web1
e https://www.example.com/web2
. Non voglio esporre le due app Web come due sottodomini su example.com
.Come servire due applicazioni Web dietro un proxy inverso nginx
Ecco un frammento della mia configurazione nginx (senza SSL dettagli di terminazione) che avevo sperato sarebbe raggiungere questo obiettivo:
server {
listen 443;
server_name .example.com;
location /web1 {
proxy_pass http://www.web1.com:80;
}
location /web2 {
proxy_pass http://www.web2.com:80;
}
}
Questo funziona, fatta eccezione per i collegamenti relativi che le applicazioni web utilizzano. Quindi l'applicazione web web1
avrà un collegamento relativo come /js/script.js
che non verrà gestito correttamente.
Qual è il modo migliore/standard per eseguire questa operazione?
Non so ngix, ma nella richiesta web c'è il referrer http che è la pagina "precedente" alla richiesta corrente. Puoi mappare il referrer in ngix? – bdn02
Ho visto alcuni luoghi che vedono questa come una potenziale soluzione, ma non sono sicuro di come questo potrebbe essere implementato. – Erik
guarda questo: http://serverfault.com/questions/177304/different-nginx-rules-based-on-referrer – bdn02