gpt4 book ai didi

Django- 多个端口上的 session cookie 和站点

转载 作者:行者123 更新时间:2023-12-04 00:42:49 27 4
gpt4 key购买 nike

我有多个 Django 项目使用 gunicorn 在一台服务器上运行和 nginx .目前,它们都配置为使用 nginx 中的 server 指令在相同 IP 地址的唯一端口上运行。这一切都很好。

...
server {
listen 81;
server_name my.ip.x.x;
... #static hosting and reverse proxy to site1
}
server {
listen 84;
server_name my.ip.x.x;
... #static hosting and reverse proxy to site2
}
...

当我在 2 个选项卡中打开 2 个不同的项目时遇到了一个问题,我意识到我无法同时登录到这两个站点(都使用内置的 Django 用户模型和身份验证)。在检查保存在浏览器中的 cookie 后,我意识到 cookie 只绑定(bind)到域名(在我的例子中只是一个 IP 地址)并且它不包括端口。

在第二个站点上,我尝试更改 SESSION_COOKIE_NAMESESSION_COOKIE_DOMAIN ,但它似乎无法正常工作,并且使用这些当前设置我什至无法登录。
SESSION_COOKIE_DOMAIN = 'my.ip.x.x:84'  #solution is to leave this as default
SESSION_COOKIE_NAME = 'site2' #just using this works
SESSION_COOKIE_PATH = '/' #solution is to leave this as default

#site1 is using all default values for these

我需要做什么才能为两个独立工作的站点获取 cookie?

最佳答案

只需更改 SESSION_COOKIE_NAME . SESSION_COOKIE_DOMAIN不支持端口号 afaik。因此,它们对于您的应用程序都是一样的。

关于Django- 多个端口上的 session cookie 和站点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7433380/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com