Установите флаг безопасности в файл cookie идентификатора JSESSION
Я хочу установить "безопасный" флаг в файл cookie JSESSIONID. Есть ли в Tomcat 6 конфигурация для этого?
Я попытался, установив 'secure="true" в элементе "Connector" (8080) файла server.xml, но это создает проблемы... вот и получается, что соединение сбрасывается.
Обратите внимание, что в моем приложении JSESSIONID создается в режиме "http" (страница индекса), когда пользователь входит в систему, он переключается в режим "https".
2 ответа
Если вы используете Tomcat 6, вы можете сделать следующее решение
String sessionid = request.getSession().getId();
response.setHeader("SET-COOKIE", "JSESSIONID=" + sessionid + "; secure ; HttpOnly");
см. https://www.owasp.org/index.php/HttpOnly для получения дополнительной информации
Используйте атрибут useHttpOnly="true". В Tomcat9 значением по умолчанию является true.
Для прокси nginx это можно легко решить в конфигурации nginx:
if ($scheme = http) {
return 301 https://$http_host$request_uri;
}
proxy_cookie_path / "/; secure";