为什么不在本地主机上时不设置 cookie?
Why are the cookies not setting when not on localhost?
我正在构建一个 Angular 应用程序,我正在使用 ngx-cookie-service
来操作 cookie。
当我 运行 在我的本地计算机上时,cookie 设置得很好。
当我在我的测试服务器上 运行 并通过本地主机访问它时,它也工作正常。
例如:http://localhost:<port_number>
但是,如果我尝试使用 ip 地址 (http://<server_ip>:<port_number>
) 从另一台机器访问测试服务器,应用程序可以运行,但 cookie 不存在,也没有消息、错误或警告,关于正在发生的事情。
我搜索了其他答案,但找不到任何线索。我还摆弄了 Same-Site = 'Lax' or 'None'
和 Domain
的设置,但它并没有改变。
这是我正在做的一个例子
constructor(private cookieService: CookieService) { }
this.cookieService.set("cookieName", "value", null, "/", null, true);
我做错了什么?
编辑:
我发现如果我用 secure=false
和 sameSite="Lax"
设置 cookie,它会设置:
如果我设置 secure=true
和 SameSite="Lax"
,它不会设置:
作为安全要求,我需要 secure 为真,所以我不能就这样离开。
这个 cookie 不是从后端发送的,前端正在创建它来存储一些信息。
有谁知道为什么没有安全设置?
我设法找到了让 cookie 出现的方法。
在服务器上安装证书,当使用https
协议调用网站时,出现cookie。
我找不到任何地方说带有安全设置的 cookie 不是在普通 http
上创建的,但仔细想想它确实有道理。
我正在构建一个 Angular 应用程序,我正在使用 ngx-cookie-service
来操作 cookie。
当我 运行 在我的本地计算机上时,cookie 设置得很好。
当我在我的测试服务器上 运行 并通过本地主机访问它时,它也工作正常。
例如:http://localhost:<port_number>
但是,如果我尝试使用 ip 地址 (http://<server_ip>:<port_number>
) 从另一台机器访问测试服务器,应用程序可以运行,但 cookie 不存在,也没有消息、错误或警告,关于正在发生的事情。
我搜索了其他答案,但找不到任何线索。我还摆弄了 Same-Site = 'Lax' or 'None'
和 Domain
的设置,但它并没有改变。
这是我正在做的一个例子
constructor(private cookieService: CookieService) { }
this.cookieService.set("cookieName", "value", null, "/", null, true);
我做错了什么?
编辑:
我发现如果我用 secure=false
和 sameSite="Lax"
设置 cookie,它会设置:
如果我设置 secure=true
和 SameSite="Lax"
,它不会设置:
作为安全要求,我需要 secure 为真,所以我不能就这样离开。
这个 cookie 不是从后端发送的,前端正在创建它来存储一些信息。
有谁知道为什么没有安全设置?
我设法找到了让 cookie 出现的方法。
在服务器上安装证书,当使用https
协议调用网站时,出现cookie。
我找不到任何地方说带有安全设置的 cookie 不是在普通 http
上创建的,但仔细想想它确实有道理。