是否可以将nginx响应cookie设置为仅http而无需重建



预期的生产环境将使用AWS EKS nginx入口控制器,因此最好不需要定制的nginx。

为了当地发展,码头工人形象https://hub.docker.com/r/lautre/nginx-cookie-flag已安装,应预先安装cookie标志模块。上的示例中建议的两种方法https://geekflare.com/httponly-secure-cookie-nginx/已经尝试过,但似乎不起作用:

http { 
...
proxy_cookie_path / "/; HTTPOnly;   Secure";
...
}

server {
...
proxy_cookie_path / "/; HTTPOnly;   Secure";
...
}

特别是令牌"atlassian.xsrf.token"从未被签名为HttpOnly,这是从web应用程序中的jira插件生成的https://confluence.atlassian.com/adminjiracloud/using-the-issue-collector-776636529.html

问题:

  1. 发现的大多数示例与上面的相同,外部模块是唯一可用的解决方案吗
  2. nginx plus版本是否有这个模块,默认情况下允许引用

您也可以使用add_header指令和手动设置cookie 来解决此问题

示例

location / {
add_header Set-Cookie 'MyCookie=SomeValue; Path=/; HttpOnly; Secure';
proxy_pass http://1.2.3.4;
}

无需编译nginx,只需使用:

proxy_cookie_flags ~ secure httponly;

您可能需要更新您的nginx版本,因为这在nginx1.12之前还不可用。我认为它是在1.19中添加的。

最新更新