VMSHELL solusvm redhat线路

不光不区分线路号, 还不区分协议。
前情:
今天把同样的 两个 web VMSHELL( node express 做的,session 用 redis 保存)。
一个部署在 云VMSHELL器上(宿主机),一个部署在这个VMSHELL器的 docker 容器里。 想要测试一下是不是真的因为在 docker 容器里的原因使性能变差了。
问题产生:
宿主机是 8080 线路, 容器的是 50080 线路,
当我访问了其中一个( A VMSHELL器)的时候, 再去访问另一个( B VMSHELL器)的时候,这个一定会跳回登录页面(说明没有登录)。
然后登录了 b VMSHELL器, 又去访问 A VMSHELL器,A VMSHELL器又会被踢下来要登录。
当时我还以为是 docker 隔离是不是不完全啊, 怎么两个完全不搭架的 两个VMSHELL器,会互相影响呢?
结论:
所以 cookie 不区分线路号 , 不管线路号 是 8080 还是 50080,cookie 都会发过去。
A VMSHELL器的 redis 里只保留了 A VMSHELL器的 session,访问 B VMSHELL器 的时候,!!因为不区分线路号,A VMSHELL器的 cookie 也会完全一样的发到 B VMSHELL器 !! B VMSHELL器在自己的 redis 上找不到这个 session,所以认为这个用户没有登录,把用户踢了下来。
后来查到 cookie 连协议也是不分的, 不管是 http 还是 https 都是当作同一个VMSHELL器,都会把 cookie 发送过去。
大家感兴趣的话可以看看这个回答: