预期的生产环境将使用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
问题:
- 发现的大多数示例与上面的相同,外部模块是唯一可用的解决方案吗
- 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中添加的。