2013-01-21 6 views
22

나는 2 개의 아파치 서버를 설치했다. 하나는 80 번 포트에, 다른 하나는 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

확인이 내가이 잘 작동하는 것 같다

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

관련 문제