amazon-ec2 - AWS 保护 Cloudfront 到 ALB 到 Fargate 的通信
问题描述
我有以下设置:
- Cloudfront (example.eu) 上的 React.js 应用程序 -> *.example.eu 和 example.eu 的证书
- 端口 5000 上的 Fargate Python FastAPI 实例
- 负载均衡器面向互联网 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 通信。
谢谢
解决方案
找到了解决方案:
转到您的 Route 53 并将具有别名目标的 A 条目添加到 ALB。重要提示:在名称字段中添加子域:例如 api.example.eu。
就是这样 :)
推荐阅读
- java - 如何在 Android Studio Activity 中设置布局和视图的内容?
- r - 使用中值创建新数据框(按行子集)
- selenium - 如何在 HTML 结构中使用 WebDriver 的“getAttribute”方法?
- elasticsearch - 即使在重新启动后也能识别 Pod (Kubernetes)
- javascript - 为 React 组件中的按钮添加/删除 CSS 类
- batch-file - 如果在 Windows 批处理文件中失败,如何重新启动特定命令?
- node.js - axios post请求发送图像表单数据...数据未在request.body中发送
- java - 在Java中实例化构造函数采用抽象参数化类型的对象
- r - 使用列值作为列名重塑表格?
- ios - 迦太基更新任务失败,Xcode 12.5 和 Mapbox 2021 出现退出代码 65 错误