我有像
这样的apache配置CookieTracking On
<Proxy balancer://my-cluster>
BalancerMember http://my-server:8084 loadfactor=1 ping=10 ttl=300 timeout=120
</Proxy>
ProxyPass /mystuff balancer://my-cluster
ProxyPassReverse /mystuff balancer://my-cluster
但是在第一次调用时,cookie不会传递给my-server
。随后的调用很好。我猜这是因为CookieTracking
在响应上设置了cookie,而不是请求。
如果我使用mod_rewrite
mod_unique_id
来模仿mod_usertrack
所做的事情,则会发生类似行为:
RewriteEngine On
RewriteCond %{HTTP_COOKIE} !^.*tracking_id.*$ [NC]
RewriteRule ^/ - [CO=tracking_id:%{ENV:UNIQUE_ID}:%{HTTP_HOST}:525600:/]
无论如何都要添加一个cookie,以便它出现在下游应用程序的请求cookie中
甚至可以记录我刚刚创建的cookie。这不起作用(大概是因为C
引用了请求cookie)
LogFormat "%{tracking_id}C"