美文网首页
关于跨域访问Zuul和gateway,Session不一致的问题

关于跨域访问Zuul和gateway,Session不一致的问题

作者: 25799c5cd22c | 来源:发表于2021-01-14 20:47 被阅读0次

## 问题描述

之前运行良好的项目,使用Zuul作为网关负责请求的转发与负载均衡,这段时间修改了项目突然发现不支持session跨域了,sensitive-headers:也设置了,withCredentials: true也加了,但是每次请求sessionId都不一致,很苦恼,两天之后发现问题,

一直以为不是错误和异常的一条消息

一直以为不是错误和异常的一条消息,点开后发现Indicate whether to send a cookie in a cross-site request by specifying its SameSite attribute

## 原因

新版的Chrome 当请求设置为  “SameSite=None”和“Secure”时,才会发送cookie

得到教训,要达到 0 error, 0 warning 必须把warning视作error

## 解决方案

添加bean

@Bean

public CookieSerializerhttpSessionIdResolver() {

DefaultCookieSerializer cookieSerializer =new DefaultCookieSerializer();

    cookieSerializer.setUseHttpOnlyCookie(false);

    cookieSerializer.setSameSite("None");

    cookieSerializer.setCookiePath("/");

    cookieSerializer.setUseSecureCookie(true);

    return cookieSerializer;

}

其他方法

1.降低浏览器版本在79以下,或者换别的浏览器

2.换https

3.将前端的url和后端请求接口设置在同一域名下

4.修改Chrome浏览器设置(不安全)

Chrome浏览器地址栏中输入

chrome://flags/#same-site-by-default-cookies

将下图按钮设置为disabled

其实修改这个就可以

[更详细可见CoreyJu]

相关文章

  • 关于跨域访问Zuul和gateway,Session不一致的问题

    ## 问题描述 之前运行良好的项目,使用Zuul作为网关负责请求的转发与负载均衡,这段时间修改了项目突然发现不支持...

  • spring cloud gateway跨域冲突功能的开发

    gateway可以实现支持跨域功能,但如果下游也支持跨域,会出现跨域冲突。如何解决该问题,gateway对外输出相...

  • 前后端分离Cookie sameSite坑 跨域之坑

    在前后端分离解决跨域问题过程中,利用CORS解决跨域问题,前后端按照规范处理了,但不管怎样session都是不一致...

  • window.URL 与 跨域

    跨域 关于跨域问题,简单来说就是通过地址访问资源时,所用的协议不同导致无法访问目标。 网上已经有很多关于跨域的主流...

  • SpringCloud跨域出现的问题

    zuul网关层设置关于,不在后端设置跨域

  • Js请求跨域问题

    一、请求跨域问题概述 跨域:指的是协议名、端口或者域名不一致的情况都是跨域。 二、跨域问题的解决方案 1、同域代理...

  • ZUUL跨域问题

    云环境中每个服务自己有跨域解决方案,而网关需要做最外层的跨域解决方案.如果服务已有跨域配置网关也有,会出现*多次配...

  • Ajax的跨域问题

    什么是跨域及来源 跨域问题来源于浏览器的同源策略,JavaScript只能访问和操作自己域下的资源,不能访问和操作...

  • 使用CORS解决跨域问题

    1.跨域问题 1.1 什么是跨域 跨域是指跨域名的访问,以下情况都属于跨域: 如果域名和端口都相同,但是请求路径不...

  • Session跨域共享解决方案

    一、Session跨域所谓session跨域就是摒弃了系统(tomcat)提供的session,而使用自定义的类似...

网友评论

      本文标题:关于跨域访问Zuul和gateway,Session不一致的问题

      本文链接:https://www.haomeiwen.com/subject/mfkiaftx.html