【问题标题】:apache How to use "Header set Set-Cookie expires=<date>" dynamicallyapache 如何动态使用“Header set Set-Cookie expires=<date>”
【发布时间】:2015-06-15 11:53:39
【问题描述】:

我使用 apache 作为负载平衡器和反向代理。 对于会话粘性,我正在使用节点的路由创建一个 cookie。

Header set Set-Cookie "h=.%{BALANCER_WORKER_ROUTE}e; path=/; domain=.domain.com" env=BALANCER_ROUTE_CHANGED

如何将 cookie 中的 expires 值设置为从请求到达开始的 X 分钟?

mod_headers 的文档甚至没有详细介绍 Set-Cookie,因此没有关于用于 expires 的动态语法的信息。

我尝试设置max-age,但不幸的是max-age doesn't work with IE 11,我们的很多客户都在使用它。

mod_rewrite cookie 的文档确实介绍了如何在 cookie 中设置生命周期,这样我就可以使用这个丑陋的 mod_rewrite hack 让它工作,但我必须为每条路线做一个规则,因为它在我的 @987654329 中不起作用@部分:

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 完成的任何想法?谢谢!

【问题讨论】:

    标签: apache mod-rewrite cookies mod-headers


    【解决方案1】:

    也许你可以用一个通用规则来保持你的想法

    RewriteCond %{HTTP_COOKIE} h=\.([1-8]) [NC]
    RewriteRule . - [CO=h:.%1:.domain.com:30:/]
    

    【讨论】:

    • +1 感谢您的规则。我没有深入研究使该部分具有通用性,因为我希望能够使用Header set Set-Cookie 来完成它,否则我将在重写后立即设置一个没有超时的cookie。不过,这就是我现在使用的。
    • 我不知道另一种方法,除了Header 和这段代码。您是否有特定原因只想使用 Header 来实现它?就个人而言,我会按照我的回答去做。也许您可以描述一下上下文是什么以及为什么必须这样做,然后我们可以看看它是否存在更好的选择
    • 只是因为我在设置cookie然后重写它。这似乎相当浪费。
    【解决方案2】:

    我查看了贝宝网站的 cookie,发现他们将 cookie 时间设置为过去一年 -(01 -01-1970)。这背后的原因可能是停止重复使用 cookie。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-06
      • 1970-01-01
      • 1970-01-01
      • 2017-04-04
      • 2012-06-14
      相关资源
      最近更新 更多