配置 – Nginx从代理服务器向Cookie添加安全标记

Mozilla刚刚发布了一个新工具来检查您的网站配置.
observatory.mozilla.org

但扫描正在抱怨
Cookies(-10分):没有安全标志的会话cookie设置…

不幸的是,在我的Nginx后面运行的服务只能在SSL直接终止时才设置安全头,而不是在SSL终止Nginx时.因此,cookie上没有设置“安全”标志.

是否可以使用Nginx以某种方式将“安全”标志附加到cookie?修改位置/路径似乎是可能的.

http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_cookie_domain

http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_cookie_path

解决方法:

我知道有两种方法可以做到这一点,它们都不是很好.首先是像这样滥用proxy_cookie_path:

proxy_cookie_path / "/; secure";

第二个是使用Headers More模块中的more_set_headers指令,如下所示:

more_set_headers 'Set-Cookie: $sent_http_set_cookie; secure';

这些都可能引入问题,因为他们盲目地添加项目.例如,如果上游设置安全标志,您将最终向客户端发送一个副本,如下所示:

Set-Cookie: foo=bar; secure; secure;

在第二种情况下,如果上游应用程序没有设置cookie,Nginx将把它发送到浏览器:

Set-Cookie; secure;

当然,这是doubleplusungood.

我认为这个问题需要修复,因为很多人都会问过这个问题.在我看来,需要这样的指令:

proxy_cookie_set_flags * HttpOnly;
proxy_cookie_set_flags authentication secure HttpOnly;

但唉,目前还不存在:(

相关文章

Nginx (engine x) 是一个高性能的HTTP和反向代理服务,也是一...
本地项目配置 1 复制 luffy/settings/dev.py为prop.py 修改l...
nginx不仅可以隐藏版本信息,还支持自定义web服务器信息 先看...
一 、此次漏洞分析 1 nginx HTTP/2漏洞 [nginx-announce] ng...
###进入nginx 目录cd /usr/local/nginx###递归显示 2 级目录...
在cmd命令窗口输入下面命令进行查看 tasklist /fi "ima...