cookies - 我无法在本地主机上设置 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 端口设置的。再次不确定这是否会有所不同。
解决方案
推荐阅读
- java - 一次又一次调用paint方法,并且该过程在Applet中没有停止,并且重新绘制了十六进制并且我丢失了所有数字
- c - malloc() 和 realloc() 函数的奇怪行为导致分段错误
- python - Google Foobar 问题 - Python 测试用例失败
- react-native - React-native:如何禁用开发工具 webbrowser 选项卡的打开?
- javascript - 单击按钮时在对话框中显示结果
- google-cloud-storage - 我需要将 Blob 的哪些部分存储在我的数据库中以检索回文件?
- swift - SwiftUI:在执行以下代码之前等待 Alamofire 请求完成
- data-structures - Big O - 使用值创建 Hashtable - 时间复杂度
- java - 当我第二次打开 Javafx 应用程序对话框时,它没有关闭
- python - 给定一个现有的分布,我如何绘制大小为 N 且标准为 X 的样本?