Я использую apache в качестве балансировщика нагрузки и обратного прокси. Для прилипания сеанса я создаю файл cookie с маршрутом узла.
Header set Set-Cookie "h=.%{BALANCER_WORKER_ROUTE}e; path=/; domain=.domain.com" env=BALANCER_ROUTE_CHANGED
Как установить значение expires
в файле cookie равным X минутам с момента поступления запроса?
Документация для mod_headers даже не описывает подробно Set-Cookie
, поэтому там нет информации о динамический синтаксис для использования для expires
.
Я попытался установить max-age
, но, к сожалению, max-age не работает с IE 11 и многими наших клиентов используют его.
Документация для mod_rewrite cookie описывает, как установить время жизни в файле cookie, чтобы я мог заставить его работать, используя этот уродливый хак mod_rewrite, но мне пришлось использовать одно правило для каждого маршрута, так как оно не работало в моем разделе <Proxy balancer://my_cluster>
:
RewriteCond %{HTTP_COOKIE} h=.1 [NC]
RewriteRule . - [CO=h:.1:.domain.com:30:/]
RewriteCond %{HTTP_COOKIE} h=.2 [NC]
RewriteRule . - [CO=h:.2:.domain.com:30:/]
RewriteCond %{HTTP_COOKIE} h=.3 [NC]
RewriteRule . - [CO=h:.3:.domain.com:30:/]
RewriteCond %{HTTP_COOKIE} h=.4 [NC]
RewriteRule . - [CO=h:.4:.domain.com:30:/]
RewriteCond %{HTTP_COOKIE} h=.5 [NC]
RewriteRule . - [CO=h:.5:.domain.com:30:/]
RewriteCond %{HTTP_COOKIE} h=.6 [NC]
RewriteRule . - [CO=h:.6:.domain.com:30:/]
RewriteCond %{HTTP_COOKIE} h=.7 [NC]
RewriteRule . - [CO=h:.7:.domain.com:30:/]
RewriteCond %{HTTP_COOKIE} h=.8 [NC]
RewriteRule . - [CO=h:.8:.domain.com:30:/]
Любые идеи о том, как выполнить с Header set Set-Cookie
? Спасибо!