Nginx 反向代理 - 从 cookies 中删除“安全”

Nginx 反向代理 - 从 cookies 中删除“安全”

为了发展我需要让 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_modulehttps://github.com/yumauri/nginx_unsecure_cookie_module

我是前端开发人员,我的 C/C++ 知识非常少,但看起来它在我的测试中运行良好:) 所以我认为它对于开发来说已经足够好了。

相关内容