我的配置文件包含:
<VirtualHost _default_:80>
RewriteEngine On
ProxyPreserveHost On
RequestHeader set X-Forwarded-Proto "https" env=HTTPS
<Proxy "balancer://webtop">
BalancerMember "http://internalsite:7003" route=web1 ping=2
BalancerMember "http://internalsite:7006" route=web2 ping=2
ProxySet lbmethod=byrequests
</Proxy>
<Location /webtop>
ProxyPass balancer://webtop/webtop stickysession=ROUTEID nofailover=On
Header add Set-Cookie "ROUTEID=.%{BALANCER_WORKER_ROUTE}e; path=/webtop" env=BALANCER_ROUTE_CHANGED
</Location>2
</VirtualHost>
问题:
1.第一次连接。我们没有routeid cookie。平衡器是否可以在第一次分配之前检查BalancerMember状态,以防止分配给不活动的BalanceMember?
1.发生了一些问题。我们有routeid cookie,例如web1,但此BalancerMember已关闭。我们发出新请求。httpd是否可以自动将cookie更改为web2并切换到此BalanceMember?
我正在尝试到配置apache httpd作为平衡器
1条答案
按热度按时间djp7away1#
1.第一次连接。我们没有routeid cookie。平衡器是否可以在第一次分配之前检查BalancerMember状态,以防止分配给不活动的BalanceMember?
cookie可以由后端设置。您可以在ProxyPass或ProxySet设置cookie。平衡器提取cookie的值,并查找路由等于该值的成员工作机。
1.发生了一些问题。我们有routeid cookie,例如web1,但此BalancerMember已关闭。我们发出新请求。httpd是否会自动将cookie更改为web2并切换到此BalanceMember?
是。如果将noffailover设置为On,则在工作进程处于错误状态或被禁用时会话将中断。如果后端服务器不支持会话复制,请将此值设置为On。