2つのApacheサーバーをセットアップしました。 1つはポート80に、もう1つはポート8077にあります。リバースプロキシ経由で8077のサーバー上のすべてを表示したいと考えています。現時点で私は持っています:
ProxyPreserveHost Off
ProxyHTMLInterp On
ProxyPass /translate/ http://www.example.com:8077/
ProxyPassReverse /translate/ http://www.example.com:8077/
ProxyHTMLURLMap / /translate/
これにより、サイトの最初のページにアクセスできますが、画像、CSS、およびその他のページへのリンクが機能しません。
たとえば、htmlのcssは次のように表示されます
/css/style.css
実際になりたい場所
/translate/css/style.css
8077サーバーからファイルを取得するため。現在の設定でそれを機能させるにはどうすればよいですか?
わかりました、これは私がそれを機能させるためにやったことです
ProxyPass /translate/ http://www.example.com:8077/
ProxyPassReverse /translate/ http://www.example.com:8077/
ProxyHTMLURLMap http://www.example.com:8087 /translate/
<Location /translate/>
ProxyPassReverse /
SetOutputFilter proxy-html
ProxyHTMLURLMap http://www.example.com:8077 /translate/
ProxyHTMLURLMap / /translate/
ProxyHTMLURLMap /translate/ /translate/
RequestHeader unset Accept-Encoding
</Location>
これはうまくいくようです。 ProxyHTMLURLMap http://www.example.com:8077 /translate /行は、一部のページが8077ポートから直接提供しようとする原因となる「リファラー」ベースのURLを翻訳するためにのみ必要でしたサーバ。