Ho una configurazione proxy inversa per l'accesso a un'applicazione di terzi situata all'interno di una rete Intranet da Internet. Supponiamo che questa applicazione sia nell'URL:
https://internalserver:8080/
(raggiungibile solo dall'Intranet)
e il proxy è attivo:
https://proxyserver/
(raggiungibile da qualsiasi parte del mondo)
Il proxy è gestito da nginx e funziona bene. Quando l'utente accede https://proxyserver/
, ottiene il contenuto dell'app all'indirizzo https://internalserver:8080/
.
Il problema è che l'applicazione sta scrivendo URL assoluti nella risposta HTML, quindi, quando l'utente fa clic su un collegamento a una nuova pagina, il browser tenta di individuare la pagina con il suo nome interno, ad esempio
https://internalserver:8080/somepage
anziché
https://proxyserver/somepage
.
So che si tratta di un bug del programma, ma non sono in grado di modificare il programma.
Posso intercettare la risposta, modificare gli URL e inviarlo (modificato) al client finale con nginx? O forse con un altro strumento?
EDIT: ho visto questa domanda prima, ma il mio caso è più specifico, la domanda citata richiede una modifica generica. In tal caso, il programma ad hoc fast-cgi è la soluzione migliore, quello che voglio è una soluzione più specifica per (penso) uno scenario più comune. mentre un programma in cgi veloce può funzionare Sto cercando una soluzione più semplice, forse più forte e dimostrata nel mondo reale, per questo scenario.