如何使用 mod_header 删除会话 cookie 安全标志?

How to remove session cookie's secure flag using mod_header?

我的 Apache Tomcat 运行 位于通过 mod_jk 连接的 Apache httpd Web 服务器后面。

当浏览器请求 https 页面(而不是 http)作为其第一个会话请求时,Tomcat 发送一个带有安全标志的会话 cookie,使用户登录的会话以后无法访问 http 页面。

如何使用 mod_header 删除会话 cookie 的安全标志?

我已经尝试将选项添加到 web.xml 中,如下所示。

<session-config>
 <cookie-config>
  <secure>false</secure>
 </cookie-config>
</session-config>

然而,它不起作用。我想这个选项不会使 servlet 请求不安全,并且 Tomcat 会将安全标志放在会话 cookie 上,除非上下文的会话配置和 servlet 请求都不安全。

这是我现在添加到 httpd-vhost.conf 的解决方案:

Header edit* Set-Cookie "(JSESSIONID=.*)(; Secure)" ""