使用 AWS CloudFront 使用 ssl-id 进行负载平衡

Posted

技术标签:

【中文标题】使用 AWS CloudFront 使用 ssl-id 进行负载平衡【英文标题】:Load balance with ssl-id with AWS CloudFront 【发布时间】:2020-10-09 04:09:03 【问题描述】:

我们的应用需要端到端 SSL 加密,架构如下:

浏览器(https)-> AWS CloudFront(Https)- ON-perm F5 负载均衡器(HTTPS)-> 网络服务器。

AWS CloudFront 的 Origin 指向 On-Perm 负载均衡器 (F5)。 On-Perm 负载均衡器配置为使用 SSL-session-id(不是应用程序 session-id)进行粘性会话

由于 AWS CloudFront 域名映射到动态 IP 并根据边缘位置 IP SSL-sessionId 更改进行 SSL 抖动,即使请求来自相同的应用程序 session-id,它也会导致用户的会话数据丢失。

我们不能将负载均衡器更改为基于应用程序会话 ID 执行会话亲和性,也不能在负载均衡器上执行 SSL 终止。有人可以帮我在这种情况下如何进行会话亲和力?

【问题讨论】:

【参考方案1】:

Amazon CloudFront 无法完成您的尝试。

CloudFront 专为提高性能而设计,这意味着单个查看器连接可以并行使用多个后端连接,多个查看器也可以通过单个后端连接发出顺序请求。

通过 CloudFront 的 TLS 不是端到端的——那是不可能的。 CloudFront 需要对流量进行解密和重新加密,因为它在 HTTP 层运行。

【讨论】:

你说得对,我在想 CloudFront 是否可以为单个查看器生成单个 ssl-id,但现在我意识到它只根据请求在边缘位置维护用户对象,仅此而已。谢谢@Michael

以上是关于使用 AWS CloudFront 使用 ssl-id 进行负载平衡的主要内容,如果未能解决你的问题,请参考以下文章

如果我在 Cloudfront 上启用了 SSL,AWS ALB 是不是需要 SSL?

如何解决 AWS CloudFront SSL 证书不存在的问题

使用 SSL 的 AWS 静态网站未正确路由

AWS Cloudfront 备用域名 403 被禁止

无法将SSL证书与Amazon Cloudfront相关联

AWS CloudFront 为不同的主机(前端和后端)设置 cookie