mod_usertrack / mod_rewrite在第一次请求时不会将cookie传递给下游应用程序

时间:2017-12-07 17:49:22

标签: mod-rewrite httpd.conf apache2.2

我有像

这样的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"

0 个答案:

没有答案