NGINX 1.11.10 编辑 cookie SameSite 属性

NGINX 1.11.10 edit cookie SameSite attribute

我有一个 NGINX 1.11.10 并试图操纵 cookie 的 SameSite 属性。看起来 NGINX 有一个选项

proxy_cookie_flags

但是,这仅适用于 NGINX 1.19.3 及更高版本。

如何在 1.11.10 中实现类似的行为来操作所有 cookie 或特定 cookie?

这是我们在 Apache HTTPD 中的类似配置。

# SameSite Cookie Configuration http://publib.boulder.ibm.com/httpserv/ihsdiag/_static/samesite-global.conf
# 1. Add SameSite=Strict and Secure if no SameSite found.
Header always edit Set-Cookie "^(?!.*(\s+|;)(?i)SameSite=)(.*)" "[=10=]; SameSite=Strict; Secure" env=!SAMESITE_SKIP
Header onsuccess edit Set-Cookie "^(?!.*(\s+|;)(?i)SameSite=)(.*)" "[=10=]; SameSite=Strict; Secure" env=!SAMESITE_SKIP
# 2. Remove duplicate SECURE flag (this keeps the above regex simpler)
Header always edit Set-Cookie "(.*(\s+|;)(?i)Secure(\s+|;).*) Secure$" "" env=!SAMESITE_SKIP
Header onsuccess edit Set-Cookie "(.*(\s+|;)(?i)Secure(\s+|;).*) Secure$" "" env=!SAMESITE_SKIP
# Why the duplication?  always is not a superset of onsuccess the way it should be.

首先(我知道你知道这一点)请尝试将 NGINX 更新到最新版本。为什么要使用这样的旧版本?

但是,proxy_cookie_flags 指令替换了此处可用的第 3 方模块:https://github.com/AirisX/nginx_cookie_flag_module

如果您无法更新,您可以加载此动态模块并使其工作。