2013-01-21 19 views
22

Mam 2 skonfigurowane serwery apache. Jeden na porcie 80 i drugi na porcie 8077. Chcę zobaczyć wszystko na serwerze na 8077 poprzez odwrotne proxy. W tej chwili mam:ProxyHTML do przepisania adresu URL

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

To pozwala mi dotrzeć do pierwotnej stronie miejscu, ale linki do zdjęć, CSS i innych stronach nie działają.

Na przykład w css html pokazuje jak

/css/style.css 

gdzie faktycznie ma to być

/translate/css/style.css 

na to, aby odebrać plik z serwera 8077. Co mogę zrobić z bieżącym ustawieniem, aby to działało?

Odpowiedz

28

Ok, to jest to, co skończyło się robi, aby dostać pracę

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> 

To wydaje się działać dobrze. ProxyHTMLURLMap http://www.example.com:8077/translate/line była potrzebna tylko do przetłumaczenia niektórych adresów URL "kierujących", które spowodowały, że niektóre strony ostatecznie próbowały obsługiwać bezpośrednio z serwera portu 8077.

+0

Dobre rozwiązanie. To podejście nadal nie pomaga mi w linkach wewnątrz CSS i JS, chociaż nie są one proxowane. – LauriK

+0

jest to plik conf? – lrn2prgrm

Powiązane problemy