带有查询字符串参数的 Apache Proxy balancerMember

带有查询字符串参数的 Apache Proxy balancerMember

我正在使用 apache 代理,我想使用带有查询字符串值的代理平衡器成员,但它并没有像我预期的那样工作。

这是我的配置。

Listen 49154 
<VirtualHost *:49154> 
         <Proxy balancer://vncServer> 
                BalancerMember ws://server1 route=1 retry=1 
                BalancerMember ws://server2 route=2 retry=1 
                BalancerMember ws://server3 route=3 retry=1 
                ProxySet stickysession=JSESSIONID 
        </Proxy> 

        RewriteEngine on 
        RewriteCond %{QUERY_STRING} port=(.*) 

        #to make ws://server1:(port value from query string)/websockify
        RewriteRule (.*) balancer://vncServer:%1/websockify [P]
        ProxyPassReverse (.*) balancer://vncServer:%1/websockify 
</VirtualHost> 

但我检查日志发现,总是连接到 80 端口。

无需平衡器即可正常工作

Listen 49154 
<VirtualHost *:49154> 

        RewriteEngine on 
        RewriteCond %{QUERY_STRING} port=(.*) 
        RewriteRule (.*) ws://server1:%1/websockify [P]
        ProxyPassReverse (.*) ws://server1:%1/websockify 

</VirtualHost> 

有没有办法使用查询字符串端口值连接平衡器成员?如能提供任何帮助,我将不胜感激。

相关内容