如果我在 Cloudfront 上启用了 SSL,AWS ALB 是不是需要 SSL?
Posted
技术标签:
【中文标题】如果我在 Cloudfront 上启用了 SSL,AWS ALB 是不是需要 SSL?【英文标题】:Is SSL required on AWS ALB if I have SSL enabled on Cloudfront?如果我在 Cloudfront 上启用了 SSL,AWS ALB 是否需要 SSL? 【发布时间】:2020-02-24 13:28:53 【问题描述】:我有一个托管在 AWS 上的应用程序。它在应用程序服务器前面有一个 ALB。为了处理巨大的负载,我还在 AWS Application Load Balancer (ALB) 前面添加了 Cloudfront。 Cloudfront 针对动态网站内容进行了配置。我正在使用 CloudFront 的自定义域名以及 SSL 证书。
加载应用程序时,我收到如下错误:
(阻止:混合内容)
我认为,如果我们在 CloudFront 上启用 SSL,就足以确保类似于负载均衡器上的 SSL 卸载功能的安全性。
我们是否需要在 ALB 上启用 SSL 以避免此错误?
如果是,我们是否需要为 ALB 添加域名并颁发证书?
这个问题还有其他解决方法吗?任何帮助将不胜感激。
【问题讨论】:
您还需要在 ALB 上使用 SSL。在 Cloudfront 上,您可以将所有 http 重定向到 https,然后 ALB 在端口 443 上侦听,而在 ALB 的服务器端,您只需要端口 80。然后,您需要将 SSL 证书添加到 ALB。您使用的是 AWS ACM 证书吗? Cloudfront 和 ALB 之间的通信不加密会有问题吗?目前,它还没有启用 HTTPS。 【参考方案1】:其实,在前端代码中,我已经添加了后端的 ALB URL。当我用新创建的 Cloudfront URL 替换它时,问题得到了解决。
目前,前端和后端 URL 是 HTTPS,因此解决了问题。
【讨论】:
以上是关于如果我在 Cloudfront 上启用了 SSL,AWS ALB 是不是需要 SSL?的主要内容,如果未能解决你的问题,请参考以下文章
将 CloudFront 分配与 Route 53 域相关联时出现问题
如果启用SSL代理,为什么https请求在Charles Proxy上失败
如何解决 AWS CloudFront SSL 证书不存在的问题