关于谷歌Chrom 80版本升级后,跨域Samesite必须有值影响跨域项目的解决

近日,被Chrom浏览器折磨废了~幸亏公司有各路大神。
问题来源:

对于开发小白来说,这都说的是什么玩意,完全不懂!没关系,我也不懂。
解决方案:首先确定你自己项目的WEB服务器
1、Apache解决方案
首先你需要在httpd.conf文件中开启mod_header模块 

LoadModule headers_module modules/mod_headers.so

你打开它以后并不能生效,所以我们还要重写Set-Cookie的头信息,其他的方法我们已经尝试并不可行,目前只有这一种方法可行

Header always edit "Set-Cookie" "path=/" "path=/;  Secure; SameSite=None"  对应windows下的apache
Header edit "Set-Cookie" "path=/" "path=/; Secure; SameSite=None" 对应linux下的apache

这里修改完有些人可能不生效,关键字就是always 如果你加了always不生效就去掉,反之则加上。我亚马逊服务器与自己的服务器虽然是相同的apache2.4但是出来的结果竟然不同,都是CentOS7.所以这里我也不太清楚到底是哪里影响了。具体自己测试吧!

2、Nginx解决方案
首先如果你的项目上使用了反向代理那么恭喜你,你只需要简单的参照转发的这个进行设置
https://blog.cat73.org/20170802/2017080201.nginx-cookie-sucure/
如果你的项目上没有配置反向代理那么你需要配置反向代理到你自己的项目上,在反向代理的服务器去配置这个如上面参考
才能生效,直接配置在自己的服务器上是无法生效的。

如果我的解决方案帮助到您,麻烦给我点个赞吧!不去动代码,不去动语言版本最佳的解决方案~

 

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页