>

使同三个server上不一样port的django应用可在同八个

- 编辑:正版管家婆马报彩图 -

使同三个server上不一样port的django应用可在同八个

使同多少个server上不一样port的django应用可在同八个浏览器上开发,portdjango

设若大家有五个django应用site1和site2同有时间跑在同二个server的例外端口,同有时候大家在同二个浏览器的分裂tab登陆。那么此时就出出现这种景色,当大家登入site2时就能够将site1上登陆的客商踢下来。

缘何会并发这种气象吗?那跟django的session框架有关,这里做三个简易介绍:当大家先是次访谈四个django网址时,django会生成贰个session来保存当前对话的某个音信。同一时间会扭转二个哈希值session_key并转移叁个cookie发送给客户端,那个cookie的名字依据setting中SESSION_COOKIE_NAME设置,默感觉“sessionid”(划器重)。那样后一次报告请示session_key就能够跟随cookie发送到server。server依照session_key查找对应session对象,获取当前对话的音讯,当然也富含登入消息。

于是地点的情事真相独有一个(柯南推眼镜脸):

那么怎么消除呢,驾驭上面机制后,只需求在setting中设置SESSION_COOKIE_NAME就可以。举例能够在site第22中学设置SESSION_COOKIE_NAME = ‘site2’,site第11中学用暗中认可。当然也可同期安装site1和site2。

 

此地是老瘦家的幼子,如需转发请宣示,作者替老瘦感激你

倘诺大家有多个django应用site1和site2同时跑在同一个server的不及端口,...

假使大家有三个django应用site1和site2同有的时候候跑在同一个server的比不上端口,同期大家在同多个浏览器的不等tab登陆。那么此时就出出现这种场馆,当大家登陆site2时就能将site1上登入的客户踢下来。

缘何会出现这种状态吧?那跟django的session框架有关,这里做一个差非常少介绍:当大家率先次访谈一个django网址时,django会生成二个session来保存当前对话的一些新闻。同时会扭转一个哈希值session_key并扭转二个cookie发送给客商端,那么些cookie的名字依据setting中SESSION_COOKIE_NAME设置,默认为“sessionid”(划入眼)。那样下一次报请session_key就能尾随cookie发送到server。server依照session_key查找对应session对象,获取当前对话的音信,当然也富含登入新闻。

从而地方的情状真相唯有一个(柯南推老花镜脸):

  1. 大家登陆site1是获得一个叫sessionid的cookie,里面积攒session_key1。
  2. 当大家登陆site2时会更新特别叫sessionid的cookie,今后它的值为session_key2(浏览器存款和储蓄cookies是基于ip实际不是端口,所以会更新同一个名字的cookie)。
  3. 为此今后用新的session_key访问site1时就能够拿不到原本的登陆音讯,要求大家再一次登陆。

那么怎么化解吗,通晓上边机制后,只要求在setting中装置SESSION_COOKIE_NAME就能够。例如能够在site第22中学装置SESSION_COOKIE_NAME = ‘site2’,site第11中学用暗中认可。当然也可同一时间安装site1和site2。

 

此间是老瘦家的幼子,如需转载请宣示,笔者替老瘦多谢你

本文由编程应用发布,转载请注明来源:使同三个server上不一样port的django应用可在同八个