Apache-2.2

Htaccess隧道到另一個埠上的本地伺服器?

  • March 21, 2011

是否可以讓 2 個 Web 伺服器在具有不同埠的同一個機器上執行,然後使用 htaccess 根據 rewritecond 將流量從 1 個伺服器隧道傳輸到另一個伺服器?基本上,當滿足某個條件時,我希望該請求由我的其他 Web 伺服器處理,並且我不想返回移動的響應。

是的,這是可能的。如果第一台伺服器是 Apache,您可以使用 mod_proxy 將其用作反向代理來執行此操作。

ProxyPass /abc http://second-web-server.yourdomain.com/def
ProxyPassReverse /abc http://second-web-server.yourdomain.com/def

http://httpd.apache.org/docs/2.0/mod/mod_proxy.html#proxypass

如果您的代理要求更複雜,您還可以告訴 mod_rewrite 將重寫規則的替換部分發送到帶有“P”標誌的 mod_proxy:

RewriteRule ^/abc$ http://second-web-server.yourdomain.com/def [P]

看來(我不熟悉 litespeed)litespeed 重寫引擎與 Apache 相同:

http://www.litespeedtech.com/docs/webserver/config/rewrite/

因此,要測試是否缺少 cookie,您可以使用如下所示的重寫規則:

RewriteCond %{HTTP_COOKIE}       !^Your_Cookie_Name$
RewriteRule ^/(.*)               http://second-web-server.yourdomain.com/$1 [p]

這裡有一個 litespeed rewrite+proxy 的例子:

http://www.litespeedtech.com/support/forum/showthread.php?t=2879

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