.NET Core SameSite cookie问题
异常提示
This setcookie was blocked because it had the "samesite=none" attribute but did not have the "secure" attribute, which is required in order to use "same=none"
SameSite
SameSite 有3个可选值 :
- Strict 禁止第三方 cookie
- Lax
- None 关闭 SameSite 选项.
其实在谷歌升级后呢,默认限制了跨域携带cookie给后端,在使用samesite=none后其实不仅仅如此,我们还需要设置Secure
属性才可以生效,但是对于项目中有些不可告人的秘密,哈哈哈哈哈,所以此处不从项目中修改了我们将修Nginx服务器来解决SameSite的问题。
Nginx proxy_cookie_path
具体配置方法(在location节点下加入,配置后重载Nginx):
- 站点Cookie所在目录在根目录/下,设置如下:
proxy_cookie_path / "/; secure; SameSite=None";
- 站点Cookie所在目录在abc目录下,设置如下:
proxy_cookie_path /abc/ "/abc/; secure; SameSite=None";
- 如果无法确定站点Cookie目录,可使用Chrome开发者工具,监测Network下网络请求,找到Response Headers中set-cookie属性值,该值中有path属性值即为Cookie目录,也即上文要替换的/或者/abc/值。
http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_cookie_path
https://docs.microsoft.com/zh-cn/aspnet/samesite/system-web-samesite
标签:
AspNet Core
, .NET Core
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构