[server] 슬래시가 있거나없는 프록시를 뒤집는 방법

사이트를 리버스 프록시 해야하는 Apache 웹 서버가 있습니다. 그래서 example.com/test/example.com/test같은 다른 웹 서버에서 풀. 다음과 같이 슬래시가없는 것에 대한 역방향 프록시를 설정했습니다.

ProxyPass /test http://othersite.com/test
ProxyPassReverse /test http://othersite.com/test

그러나 후행 슬래시는 작동하지 않습니다.

어떤 아이디어? 나는에서 리디렉션을 시도 /test/하는 /test행운과 함께.

감사.



답변

URL을 다시 쓰려고 했습니까?

RewriteEngine on
RewriteRule ^/test$ /test/ [R]

ProxyRequests Off
ProxyPreserveHost On

ProxyPass    /test/   http://othersite.com/test/
ProxyPassReverse /test/  http://othersite.com/test/


답변

슬래시와 함께 작동하지 않는다는 것은 무엇을 의미합니까? 잘못된 위치로 리디렉션됩니까? 404 오류가 발생합니까? 이것이 내가 리버스 프록시를 설정하고 다른 세계에서 소스를 숨기는 데 사용한 것입니다.

ProxyRequests off
<Location /guides>
  ProxyPass http://blog.domain.com
  ProxyPassReverse http://blog.domain.com
  ProxyPassReverse /
  ProxyHTMLEnable On
  ProxyHTMLURLMap / /guides
  ProxyHTMLURLMap http://blogs.domain.com /guides
  RequestHeader unset Accept-Encoding
  RequestHeader set MySpecialHeader secretkey
  #LogLevel proxy:debug
</Location>

이를 사용하여 프록시를 테스트 할 수 있습니다.

$ curl -I http://localhost:81/guides/top5
HTTP/1.1 301 Moved Permanently
Location: http://localhost:81/guides/top5/


답변