gpt4 book ai didi

amazon-web-services - 在 S3 上托管 React 页面并对 Elastic Beanstalk 上的服务器进行 REST api 调用

转载 作者:行者123 更新时间:2023-12-04 22:37:18 24 4
gpt4 key购买 nike

背景
我正在尝试部署一个虚拟应用程序,其中 React 前端和 Django 后端通过 REST api 交互。我做了以下事情:

  • 使用 S3 存储桶托管静态网站并将我的 react 代码部署到其中
  • 将 Cloudfront for S3 存储桶 - 设置证书并更改我的域名(来自 GoDaddy)以链接到此地址
  • 按照AWS的python环境教程启动Elastic Beanstalk环境
  • 设置 Postgres RDS 并链接 Django 服务器

  • 所以现在我可以执行以下操作
  • 通过我的域名 ( https://www.example.com )
  • 使用 https 访问我的前端
  • 使用 elastic beanstalk 的路径访问 django 管理站点并更新项目

  • 即每个组件都已启动并正在运行
    问题
    我遇到了以下问题:
  • 从静态页面对 Elastic Beanstalk 环境进行安全的 REST API 调用。在我设置证书之前,我可以轻松地进行 REST API 调用。
  • 我可以找到的指南通常涉及为 Elastic Beanstalk 设置一个域名,我想这不适用于我的案例(或者它是否适用?)
  • 我试着关注这个 faq并更新了负载均衡器中的配置,接受 443 https 并重定向到 80 http。但我使用的证书与来自 CloudFront 的证书相同,这对我来说听起来不合适。

  • 将不胜感激帮助
  • 如何解决上述ssl连接问题
  • 或者对于我在这里想要实现的目标是否有更好的架构?

  • 根据 Request a certificate in ACM for Elastic Beanstalk backend ,听起来我必须使用子域并为该子域请求证书,并使用 Cloud 53 将对该子域的请求定向到 Elastic Beanstalk 环境。会是这样吗?
    先感谢您!

    最佳答案

    默认情况下,EB url 将仅 HTTP。要使用 HTTPS,您需要 在 ALB 上部署 SSL 证书 .
    为此,您需要一个 自定义域 ,因为您只能将 SSL 证书与 关联您控制的域 .因此,通常你会得到一个域(你似乎已经有一个来自 godaday 的域)。因此,在这种情况下,您可以在 godady 上设置子域(例如 api.my-domian.com )。然后您可以使用 AWS ACM 为 api.my-domian.com 注册免费的公共(public) SSL 证书。 .
    使用 DNS(更简单)或电子邮件技术验证证书后,您可以使用 HTTPs 监听器将其部署在 ALB 上。显然你需要指出 api.my-domian.com到 EB 的 https 网址。您也可以重定向 在从端口 80 到 443 的 ALB http 流量上始终使用 https。
    然后在您的前端应用程序中,您只使用 https://api.my-domian.com ,而不是原始的 EB 网址。
    除此之外,还可能存在 CORS 问题,因此它们也必须有所不同。

    关于amazon-web-services - 在 S3 上托管 React 页面并对 Elastic Beanstalk 上的服务器进行 REST api 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62843252/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com