当平衡器上使用 https 但平衡器->应用服务器是 http 时,保护 cookie

当平衡器上使用 https 但平衡器->应用服务器是 http 时,保护 cookie

我们正在尝试使我们的应用程序符合 PCI 规范,经过审核后,报告告诉我们需要secure在 cookie 上设置标志。该网站采用 HTTPS(使用 pound 表示 https 终止),位于 haproxy 前面,为许多后端应用服务器提供服务,如下所示:

CLIENT ->(https)-> [Pound]->[HAProxy] ->(http)-> { app001 | app002 | appNNN }

我已经做了一些研究(谷歌搜索),但没有找到任何明确的答案,但是应用服务器在它和平衡器之间通过 http 设置安全 cookie 会有什么问题吗?它会通过 https 传递到客户端吗?

我们的暂存环境没有像生产环境那样设置 SSL,所以我无法测试这一点,但我正试图制定一个行动计划,看看在尝试继续进行这一操作之前是否有遗漏的地方。

答案1

无论与原始服务器的连接是否安全,您都可以在 Cookie 上设置安全标志。客户端会解释此标志,如果连接不安全,则不会实际设置 Cookie。

根据 RFC 6265:

当 Cookie 具有 Secure 属性时,仅当请求通过安全通道(通常是通过传输层安全性 (TLS) 的 HTTP)传输时,用户代理才会将 Cookie 包含在 HTTP 请求中[RFC2818])。

RFC 6265了解有关此标志如何工作(以及 cookie 的一般原理)的更多信息。

相关内容