首页 > 解决方案 > 我无法在本地主机上设置 cookie

问题描述

我在 localhost:3333 上使用带有 cookie 解析器中间件的 Express 框架的 NodeJS。我的前端由 localhost:3000 上的反应开发服务器提供服务。这是我第一次尝试与 cookie 有关的任何事情。以下是我为我的 cookie 设置的选项{ expires: maxAge , httpOnly: true, sameSite: 'none', secure: true, domain: null }:我也尝试过使用和不使用 sameSite、httpOnly 和安全选项。以及域=本地主机。

这是我在尝试设置 cookie 时得到的 http 响应的标头:

Set-Cookie:

sessionid=119faa6a3fcfab0628998ff2592e04ceb06cda12; Path=/; Expires=Sun, 29 Jan 2023 15:20:16 GMT; HttpOnly; Secure; SameSite=None

但问题是 cookie 没有出现在 Chrome 的应用程序/Cookies 或 Firefox 的存储/Cookies 中。我也无法将 cookie 作为不同端点上的请求 cookie 访问。但是它确实适用于我的 vps。vps 使用正确的域名和代理,因此所有请求似乎都来自同一个域/端口,我不知道这是否会有所不同。

我还尝试将 127.0.0.1 dev.mylocalhost.com 添加到 /etc/hosts 以在 localhost 上伪造域名。刚读过一些关于这个的东西,不太确定它应该如何工作。我不拥有这个域,这只是在我的本地 /etc/hosts 文件中。我没有尝试在本地主机上使用代理,因此当客户端在端口 3000 上时,cookie 是从服务器上的 3333 端口设置的。再次不确定这是否会有所不同。

标签: cookieslocalhostsetcookie

解决方案


推荐阅读