Reverse-Proxy

如何使用或不使用斜杠來反向代理

  • November 12, 2021

我有一個需要反向代理站點的 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/

引用自:https://serverfault.com/questions/134183