Cookie 携带 Secure 属性导致浏览器不能在请求中携带 SessionID 的问题。
有 Secure 属性的 Cookie 意味着如果浏览器不是使用 HTTPS 与服务建立链接,那么这个 cookie 里的值不会随请求一起向服务器发送。要解决这个问题就需要在 Nginx 中把 cookie 中的 Secure 属性去掉再传给浏览器。解决办法如下:
map $sent_http_set_cookie $resp_cookie {
~*(?<CK_WITHOUT_SECURE>.+)Secure $CK_WITHOUT_SECURE;
}
server {
... ...
location /databoard/ {
... ...
more_set_headers 'Set-Cookie: $resp_cookie';
posted on 2022-12-26 21:35 zhangzongshan 阅读(434) 评论(0) 编辑 收藏 举报