首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Nginx从代理服务器向Cookies添加安全标志

Nginx从代理服务器向Cookies添加安全标志
EN

Unix & Linux用户
提问于 2016-08-29 16:57:57
回答 2查看 28.8K关注 0票数 14

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

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

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

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

http://nginx.org/en/docs/http/ngx_http_代理_module.html#proxy_饼干_域名

http://nginx.org/en/docs/http/ngx_http_代理_module.html#proxy_饼干_路径

EN

回答 2

Unix & Linux用户

回答已采纳

发布于 2016-09-02 15:02:38

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

代码语言:javascript
复制
proxy_cookie_path / "/; secure";

第二种方法是使用来自Header更多模块的more_set_headers指令,如下所示:

代码语言:javascript
复制
more_set_headers 'Set-Cookie: $sent_http_set_cookie; secure';

这两种方法都会带来问题,因为它们盲目地添加项目。例如,如果上游设置了安全标志,您将最终向客户端发送如下所示的副本:

代码语言:javascript
复制
Set-Cookie: foo=bar; secure; secure;

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

代码语言:javascript
复制
Set-Cookie; secure;

当然,这是双重的。

我认为这个问题需要解决,因为很多人都问过这个问题。在我看来,这样的指令是必要的:

代码语言:javascript
复制
proxy_cookie_set_flags * HttpOnly;
proxy_cookie_set_flags authentication secure HttpOnly;

但遗憾的是,目前还不存在这样的情况:

票数 13
EN

Unix & Linux用户

发布于 2017-03-17 10:35:27

尝试使用nginx_饼干_标志_模块。它会解决你的问题。

免责声明:我是模块的作者。

票数 5
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/306463

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档