我在 AWS ECS 上部署的 Spring Web 应用程序中设置会话 cookie (JSESSIONID) 的安全属性时遇到问题。
这是场景:
要求:使会话cookie安全(secure=“true”)以供应用程序增强安全性。
配置:我修改了WildFly配置如下:
<session-cookie http-only="true" secure="true"/>
此配置与 HTTPS 请求完美配合。
问题:但是,当使用内部负载均衡器 URL (HTTP) 进行测试时,我收到以下错误消息:
“通过 set-cookie 标头设置 cookie 的尝试被阻止 因为它具有安全属性,但不是通过安全接收的 连接”
问题:是否有一种编程或 WildFly 配置方法可以在 WildFly 应用程序服务器内跨 HTTP 和 HTTPS 协议无缝管理 JSESSIONID cookie,并使用安全属性“true”?鉴于 Servlet 容器参与 JSESSIONID 处理,我相信对此行为的控制有限
我感谢您提供的任何见解或建议。谢谢!
浏览器不会通过未加密的 HTTP 请求发送带有安全属性设置的 cookie。所以这是不可能的。
参考https://owasp.org/www-community/controls/SecureCookieAttribute