首页 > 解决方案 > AWS 保护 Cloudfront 到 ALB 到 Fargate 的通信

问题描述

我有以下设置:

  1. Cloudfront (example.eu) 上的 React.js 应用程序 -> *.example.eu 和 example.eu 的证书
  2. 端口 5000 上的 Fargate Python FastAPI 实例
  3. 负载均衡器面向互联网 http://***.eu-central-1.elb.amazonaws.com/

我可以访问我的网站https://example.eu就好了

因此,我在前端定义了负载均衡器 URL,用于向 Fargate 实例发出请求 --> GET http://***.eu-central-1.elb.amazonaws.com/users。

我单击网站上的按钮将请求发送到后端,但在浏览器中出现混合内容错误。

好吧,我想让我们通过 https 进行调用 - 我在 443 侦听器上添加了一个 HTTPS 并添加了之前创建的证书。如果我停用工作正常的 SSL 验证(例如在 Postman 中),否则我会在浏览器中收到以下错误:

VM11:1 GET https://***.eu-central-1.elb.amazonaws.com/users net::ERR_CERT_COMMON_NAME_INVALID

负载均衡器 URL 是否需要另一个证书?我查看了很多教程,他们只为域创建了一个。我需要将证书添加到我的后端吗?

我真的很困惑如何通过负载均衡器 https://***.eu-central-1.elb.amazonaws.com 与我的 Fargate 后端在端口 5000 上建立从 example.eu 的正确 https 通信。

谢谢

标签: amazon-ec2httpsssl-certificateaws-fargateaws-load-balancer

解决方案


找到了解决方案:

转到您的 Route 53 并将具有别名目标的 A 条目添加到 ALB。重要提示:在名称字段中添加子域:例如 api.example.eu。

就是这样 :)


推荐阅读