强制 Tomcat 在 http 上使用安全的 JSESSIONID cookie

2022-09-01 14:01:25

有没有办法配置Tomcat 7以在所有情况下都使用安全标志创建JSESSIONID cookie?

通常的配置会导致 Tomcat 标记会话 Cookie 与安全标志, 只有当连接是通过 https 建立的。然而,在我的生产场景中,Tomcat支持一个反向代理/负载均衡器,它处理(并终止)https连接并通过http联系tomcat。

我是否可以以某种方式在使用Tomcat的会话cookie上强制使用安全标志,即使连接是通过普通http建立的?


答案 1

最后,与我最初的测试相反,web.xml解决方案在Tomcat 7上为我工作。

例如,我将此代码段添加到web.xml,即使反向代理通过普通HTTP与tomcat联系,它也将会话cookie标记为安全。

<session-config>
    <cookie-config>
        <http-only>true</http-only>
        <secure>true</secure>
    </cookie-config>
</session-config>

答案 2

ServletContext.getSessionCookieConfig().setSecure(true)