解决控制台中cookie没有携带token的问题

     项目地址:https://github.com/hx1098/leyou

     最近在做用户登录的功能,需要进行无状态的请求其他微服务,但是我后台的登录已经成功,ccookie已经set进去了,使用postman测试也是成功的,但是就是在控制台登录时找不到自己设置的cookie,

postMan都请求成功了,还携带了token,

这是咋回事呢,我就想可能有两种原因:

  • 1.nginx问题
  • 2.网关zuul的问题

于是我就调试一下看看在设置cookie时候发生了什么,

发现在setDomainName时候ip地址由192.168.6.129变成了127.0.0.1:8087了,

这是由于使用了nginx的反向代理,于是,在自己的nginx下面添加如下代码

添加好之后,重新进行debug,发现还是不行,想到网关也做了反向代理,于是在网关的application.yml加入如下

他会将头给加进去,但是zunnl有一个坑,

这个zunnl的过滤器中会有一个添加忽略头信息的一行代码

也就是说你就算设置好了之后也是没有用的,点击去

在点进去发现

cookie和setCookie都被忽略掉了,就不能设置cookie了,这可咋办?

那就直接覆盖一个吧!

在zuul服务的配置文件中添加

  add-host-header: true #添加头
  sensitive-headers:  #覆盖敏感头信息,是cookie可以正常写入。

此时在去重启网关,

完美!!!

所以,还是三个地方要进行改动

nginx添加 

proxy_set_header Host $host;  

网关application.yml中添加

zuul 
    add-host-header: true #添加头
    sensitive-headers:  #覆盖敏感头信息,是cookie可以正常写入。
发布了75 篇原创文章 · 获赞 3 · 访问量 1973

猜你喜欢

转载自blog.csdn.net/qq_32565267/article/details/104388094
今日推荐