为了发展我需要让 NGINX 从 cookie 标头中删除“安全”标志。
Set-Cookie:XSRF-TOKEN=zzzzzzzz-zzzz-zzzz-zzzz-zzzzzzz; Path=/; Secure
应该成为
Set-Cookie:XSRF-TOKEN=zzzzzzzz-zzzz-zzzz-zzzz-zzzzzzz; Path=/;
对于每个 Set-Cookie 标头。我正在创建一个反向代理配置,以将开发服务器与 UI 分离,并且由于上游在 HTTPS 后面运行,而 NGINX 在纯 HTTP 上运行,因此浏览器拒绝发回 cookie。
答案1
从 nginx 1.19.3 开始,你可以使用http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_cookie_flags。 例如:
proxy_cookie_flags some_cookie nosecure;
Secure
要从所有 Cookie 中删除标志:
proxy_cookie_flags ~ nosecure;
答案2
我知道这是一个很老的问题,但这里没有答案,而且我找不到针对同一问题的好的解决方案。
因此我分叉了nginx_cookie_flag_module
模块并将其更改为nginx_unsecure_cookie_module
:
https://github.com/yumauri/nginx_unsecure_cookie_module
我是前端开发人员,我的 C/C++ 知识非常少,但看起来它在我的测试中运行良好:) 所以我认为它对于开发来说已经足够好了。