私は何百もの SO 投稿を読み、利用可能ないくつかの Java HTTP-Proxy Sources を調査しました...しかし、私の問題の解決策を見つけることができませんでした。
Http-Requests をプロキシする WebApp を作成しました。WebApp は機能していますが、プロキシされたページの「ルート」がプロキシサーブレットのパスではなく、サーバーのルートを指しているため、リンクとリファラーが壊れています。
より明確にするために:
私の ProxyServlet はリクエスト " http://myserver.com/proxy/ProxyServlet?foo=bar "を受け取ります
ProxyServlet は、ServerX からページコンテンツをフェッチするようになりました (例: " http://original.com/test.html ")
ページのコンテンツは、あるストリームから別のストリームへ読み書きし、ヘッダーをコピーするだけでブラウザーに配信されます。
ブラウザには、元のリクエスト (" http://myserver.com/proxy/ProxyServlet?foo=bar ") であるページ (URL) が表示されますが、すべての相対リンクは " http://myserver .com/XXX.html " http://myserver.com/proxy/ProxyServlet/XXX.html "の代わりに
相対リンクが ProxyServlet を正しく指すように「パス」を変更できる応答ヘッダーはありますか?
(ページには JavaScript コードやその他のアクティブ コンテンツなどの比較的アドレス指定された要素が含まれているため、ページ コンテンツの書き換えとリンクの置き換えは非常に困難です...)
(サーブレットのマッピングを「/*」に変更することもできません...このパスを介してアクセスする必要があります...)