インターネットからイントラネット内にあるサードパーティアプリケーションにアクセスするためのリバースプロキシをセットアップしています。このアプリケーションがURL上にあるとしましょう:
https://internalserver:8080/
(イントラネットからのみ到達可能)
プロキシがオンになっています:
https://proxyserver/
(世界のどこからでも到達可能)
プロキシはnginxによって管理されており、正常に機能しています。ユーザーがアクセスするhttps://proxyserver/
と、でアプリのコンテンツを取得しhttps://internalserver:8080/
ます。
問題は、アプリケーションがHTML応答に絶対URLを書き込んでいるため、ユーザーが新しいページへのリンクをクリックすると、ブラウザがのhttps://internalserver:8080/somepage
代わりに内部名でページを検索しようとすること
です
https://proxyserver/somepage
。
これはプログラムのバグであることは知っていますが、プログラムを変更することはできません。
応答をインターセプトし、URLを変更し、nginxで最終クライアントに送信(変更)できますか?それとも別のツールで?
編集:私は前にこの質問を見ましたが、私の場合はより具体的です、引用された質問は一般的な変更を求めます。その場合、fast-cgiアドホックプログラムが最適なソリューションであり、私が望んでいるのは、より一般的なシナリオのためのより具体的なソリューションです(と思います)。fast-cgiプログラムは機能しますが、私はこのシナリオの最も簡単で、おそらくより強力な、現実世界でのソリューションを探しています。