在 Windows 上的 apache http 服务器上重写 URL



我正在使用Apache模块mod_proxy_balancer作为Windows机器上的负载均衡器,将流量定向到iis上的不同端口。apache 和 IIS 在同一台服务器上运行。

我正在运行一些负载测试,需要将唯一 id 附加到 url。是否可以从cookie中获取JsessionId并将其附加到URL中。如果是这样,如何?

另一种选择可能是生成一些唯一的字符串并将其附加到 url?

我的 Apache 知识几乎没有限制,似乎无法让 url 重写工作。

这是我httpd-vhosts config文件:

<VirtualHost _default_:8080>
DocumentRoot "C:/HTTPD/Apache24/htdocs"
#ServerName www.example.com:80
Header add Set-Cookie: "ROUTEID=.%{BALANCER_WORKER_ROUTE}e; path=/" env=BALANCER_ROUTE_CHANGED
<Proxy balancer://mycluster>
BalancerMember "http://localhost:8081" route=node110
BalancerMember "http://localhost:8082" route=node111
ProxySet lbmethod=byrequests
</Proxy>
ProxyPass / balancer://mycluster/ stickysession=ROUTEID scolonpathdelim=On timeout=600
ProxyPassReverse / balancer://mycluster/
ProxyPreserveHost On
</VirtualHost>

您可以使用随机或UNIQUE_ID,另一种选择是组合各种 TIME 服务器变量,如 TIME_SEC。

您还可以使用 prg,它使用外部程序或脚本来调用重写。

有关更多详细信息,请参阅以下链接:

.htaccess - 在网址后添加随机文本

htaccess:将随机字符串添加到 URL

阿帕奇模块mod_rewrite

最新更新