Reverse-Proxy
如何使用或不使用斜杠來反向代理
我有一個需要反向代理站點的 Apache Web 伺服器。因此
example.com/test/
,或者example.com/test
從同一個其他網路伺服器中提取。我已經為沒有斜杠的那個設置了一個反向代理,如下所示:ProxyPass /test http://othersite.com/test ProxyPassReverse /test http://othersite.com/test
但它不適用於尾部斜杠。
有任何想法嗎?我試過重定向 from
/test/
沒有/test
運氣。謝謝。
您是否嘗試過重寫網址?
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/