2013-01-21 15 views
22

私は2つのApacheサーバーを設定しています。 1つはポート80に、もう1つはポート8077にあります。私はリバースプロキシ経由で8077上のサーバー上のすべてを見たいと思っています。私が持っている現時点で:URLを書き換えるProxyHTML

ProxyPreserveHost Off 
ProxyHTMLInterp On 
ProxyPass /translate/ http://www.example.com:8077/ 
ProxyPassReverse /translate/ http://www.example.com:8077/ 
ProxyHTMLURLMap//translate/ 

これは私は、サイトの最初のページに取得することができますが、画像、CSSや他のページへのリンクは動作しません。

例えばHTMLでCSSが

私は実際にそれが8077サーバーからファイルをピックアップすることが

/translate/css/style.css 

になりたい

/css/style.css 

として示しています。これを実現するために現在の設定で何ができますか?

答えて

28

okが、これは私がこれはうまく動作しているようです

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/lineは、いくつかのページが8077ポートサーバーから直接提供しようとする原因となったいくつかの "参照元"ベースのURLを翻訳するために必要でした。

+0

良い解決策。このアプローチは、まだCSSとJS内のリンクで私を助けません。彼らはプロキシされません。 – LauriK

+0

はこのファイルconfファイルですか? – lrn2prgrm