欢迎来到站长天空!

其它服务器

当前位置: 主页 > 服务器 > 其它服务器

nginx配置客户端保存cookie的实现

时间:2025-12-12 09:30:02|栏目:其它服务器|点击:

目录
  • 问题
  • 解决

问题

昨晚在部署一个前人留下的dotnet core后台服务,在服务器上小心翼翼的修改前端代码,把ajax请求地址换成了localhost,登录、请求数据正常。但是把localhost换成ip地址,发现登录正常,cookie也返回了,但验证登录状态(向后台发送请求,验证携带的cookie)时报错了,一直401

这个程序的前端、后端都不是我写的,问了前端开发:

nginx配置客户端保存cookie的实现

这说的没错,cookie确实返回来了,但再次请求时请求头没有携带cookie。奇了怪,然后就发现了:

nginx配置客户端保存cookie的实现

根据提示,浏览器是想保存cookie的,但Set-Cookie里面设置了Secure,就被阻止了。

nginx配置客户端保存cookie的实现

解决

那我就把Secure去掉!
同时samesite=none也要修改,因为samesite=none必须要和secure连用,可以把值改成strict

Strict最为严格,完全禁止第三方 Cookie,跨站点时,任何情况下都不会发送 Cookie。换言之,只有当前网页的 URL 与请求目标一致,才会带上 Cookie。

nginx里面设置:

proxy_cookie_flags ~ nosecure samesite=strict;

再说点

cookie属性secure是只能在https下访问,我这里是从https环境迁移至http环境(这种逆向不安全的方式还是不要学)。

关于nginx这部分的设置可以参考 nginx官方文档:proxy_cookie_flags

我设置的nginx如下,但具体情况还要考虑实际用途:

 	location /rf/ {
        proxy_pass  http://localhost:5001/;
	    proxy_set_header Host $host;
	    proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Real-PORT $remote_port;
      
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;

	    proxy_cookie_path  / /;
	    proxy_set_header   Cookie $http_cookie;
 	    proxy_cookie_flags ~ nosecure samesite=strict;
   }

上一篇:解决Tomcat报404问题大全(包括tomcat可以正常运行但是报404)

栏    目:其它服务器

下一篇:关于Grep的多次管道过滤的问题及解决

本文标题:nginx配置客户端保存cookie的实现

本文地址:https://zz.feitang.co/server/30289.html

广告投放 | 联系我们 | 版权申明

申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:257218569 | 邮箱:257218569@qq.com

Copyright © 2018-2026 站长天空 版权所有 Powered by EyouCms冀ICP备14023439号