将'secure'标志设置为JSESSIONid cookie

时间:2011-09-27 08:35:09

标签: tomcat6 jsessionid

我想为JSESSIONID cookie设置'secure'标志。在tomcat 6中是否有配置?

我尝试在server.xml的'Connector'(8080)元素中设置'secure =“true”',但是它会产生问题......那就是Connection正在重置。

请注意,在我的应用程序中,JSESSIONID是以“http”模式(索引页面)创建的,当用户登录时,它将切换到“https”模式。

3 个答案:

答案 0 :(得分:3)

如果您使用的是tomcat 6,则可以执行以下解决方法

String sessionid = request.getSession().getId();
response.setHeader("SET-COOKIE", "JSESSIONID=" + sessionid + "; secure ; HttpOnly");

有关详细信息,请参阅https://www.owasp.org/index.php/HttpOnly

答案 1 :(得分:0)

使用属性useHttpOnly =“true”。在Tomcat9中,默认值为true。

答案 2 :(得分:0)

对于nginx代理,可以在nginx配置中轻松解决:

if ($scheme = http) {
    return 301 https://$http_host$request_uri;
}

proxy_cookie_path / "/; secure";