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;
但唉,目前还不存在:(
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。