当前位置: 首页 > 知识库问答 >
问题:

快速会话在生产/部署中不起作用

徐博雅
2023-03-14

快速会话在开发环境中工作,因为它在我的浏览器中设置了“connect.sid”cookie。然而,在生产中,它不存储cookie,并且不是使用相同的会话——它每次都会创建一个新的会话。我相信,如果我能以某种方式保存第三方cookie,这个问题就会得到解决,因为我的应用程序是使用Heroku部署的。最后,我还使用了Express cors来避免CORS问题(不知道这是否与cookie问题有关)。我在cors中设置了{凭据:true},在Axios中也设置了{凭据:true}。

共有2个答案

黄飞翮
2023-03-14

Heroku使用反向代理。它提供httpsendpoint,但随后将未加密的流量转发到网站。

试试像这样的东西

app.enable('trust proxy')

看看https://expressjs.com/en/guide/behind-proxies.html

田成化
2023-03-14

问题解决了-

cookie:{httpOnly:true,secure:true,maxAge:1000*60*60*48,sameSite:'none'}

 类似资料:
  • 我们有一个Spring Boot Angular应用程序。目前,我们正在将其打包为一个jar并运行它。 使用包装作为JAR可以吗?或者我们应该转向WAR类型的包装。会有什么不同?

  • 我们这里以项目 flask-todo-app 为例,介绍如何将其部署到生产环境,主要有以下几个步骤: 创建项目的运行环境 使用 Gunicorn 启动 flask 程序 使用 supervisor 管理服务器进程 使用 Nginx 做反向代理 创建项目的运行环境 创建 Python 虚拟环境,以便隔离不同的项目 安装项目依赖包 $ pip install virtualenvwrapper $ s

  • 问题内容: 我正在构建一个Node应用程序,用户必须在其中注册或登录,然后当他们拖放某些元素(前端都在工作)时,我将其操作及其相应的userId存储在数据库中。 我的理解是,一旦他们注册/登录,我就可以使用req.user来访问他们的ID并正确存储他们的操作,但是它不起作用。 这是我的server.js文件中处理Passport的部分。另外,我将Sequelize用作ORM,但是没有req.use

  • MinIO是一个云原生的应用程序,旨在在多租户环境中以可持续的方式进行扩展。编排(orchestration)平台为MinIO的扩展提供了非常好的支撑。以下是各种编排平台的MinIO部署文档: Orchestration平台 Docker Swarm Docker Compose Kubernetes DC/OS 为什么说MinIO是云原生的(cloud-native)? 云原生这个词代表的是一些

  • 我正在开发一个vaadin web应用程序,我在web.xml中添加了以下代码片段。 现在我注意到,也在30分钟后,我的用户能够使用应用程序,我不想这样。我在vaadin的书上读到了一些关于这个问题的东西,但我并不了解一些东西。 在web.xml中: 会话超时应长于心跳间隔,否则会话在心跳保持活动之前就已关闭。由于会话过期使UI处于假定会话仍然存在的状态,这将在浏览器中导致不同步错误通知。 但是,