同IP不同端口导致cookie冲突的解决方法 您所在的位置:网站首页 同一域名下不同端口cookie共享问题 同IP不同端口导致cookie冲突的解决方法

同IP不同端口导致cookie冲突的解决方法

2022-05-30 21:17| 来源: 网络整理| 查看: 265

同IP不同端口导致cookie冲突的解决方法 一、项目背景1、技术栈2、问题描述 二、解决办法

一、项目背景 1、技术栈

springboot、springcloud、vue、gateway、springmvc、k8s、jwt等

2、问题描述

一个k8s集群服务器上搭建了多个项目,端口不一样,同时启动访问时token丢失。如:A,B两个服务,在浏览器中登录访问A后,当前打开的浏览器上在开一个选项卡访问B服务后,回过来点击访问A时token丢失,需要重新登录A才可以访问。经过资料查找,发现问题是因为: IP相同认为是同一个域,接收了B的token,把对应的cookie内容覆盖了,其中包括jsessionid,造成A的token丢失。如果IP不同,则不会发生这个问题。IP相同的两个cookie是一样的,而不幸的是token就保存在cookie中,这样先访问A,再访问B的时候,B的token会覆盖A的token。这个事情没办法解决,所以你不要搞两个端口,最好是搞两个IP。原来都是cookie惹的祸,它不会区分端口,造成这多个站点不断的后来的覆盖前面的,从而造成cookie的丢失。

二、解决办法

直接在前端把A、B两个项目的token的名称改成不一样,如下:

#A 项目: const TokenKey = 'Admin-Token' const ExpiresInKey = 'Admin-Expires-In' #B 项目: const TokenKey = 'Admin-B-Token' const ExpiresInKey = 'Admin-B-Expires-In'


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有