Mam konfigurację odwrotnego proxy do dostępu do aplikacji strony trzeciej znajdującej się w intranecie z Internetu. Powiedzmy, że ta aplikacja jest pod adresem URL:
https://internalserver:8080/
(dostępny tylko z intranetu)
a serwer proxy jest włączony:
https://proxyserver/
(osiągalny z dowolnego miejsca na świecie)
Serwer proxy jest zarządzany przez nginx i działa dobrze. Gdy użytkownik uzyskuje dostęp https://proxyserver/
, pobiera treść aplikacji pod adresem https://internalserver:8080/
.
Problem polega na tym, że aplikacja zapisuje bezwzględne adresy URL w odpowiedzi HTML, więc gdy użytkownik kliknie link do nowej strony, przeglądarka próbuje zlokalizować stronę z jej wewnętrzną nazwą, np.
https://internalserver:8080/somepage
Zamiast
https://proxyserver/somepage
.
Wiem, że to błąd programu, ale nie mogę go modyfikować.
Czy mogę przechwycić odpowiedź, zmodyfikować adresy URL i wysłać ją (zmodyfikowaną) do klienta końcowego za pomocą nginx? A może z innym narzędziem?
EDYCJA: Widziałem to pytanie wcześniej, ale mój przypadek jest bardziej konkretny, cytowane pytanie wymaga ogólnej modyfikacji. W takim przypadku program ad-hoc fast-cgi jest najlepszym rozwiązaniem, a to, czego chcę, to bardziej szczegółowe rozwiązanie (chyba) bardziej powszechnego scenariusza. podczas gdy program fast-cgi może działać, szukam najłatwiejszego, a może silniejszego i sprawdzonego w prawdziwym świecie rozwiązania dla tego scenariusza.