Htaccess 通过隧道连接到另一个端口上的本地服务器?

Htaccess 通过隧道连接到另一个端口上的本地服务器?

是否可以在同一台机器上运行 2 个具有不同端口的 Web 服务器,然后使用 htaccess 根据 rewritecond 将流量从 1 个服务器隧道传输到另一个服务器?基本上,当满足某个条件时,我希望请求由我的其他 Web 服务器处理,并且我不想返回移动的响应。

答案1

是的,这是可能的。如果第一台服务器是 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

相关内容