amazon-web-services - 如何将代理添加到 s3,以便我可以使用托管在 EC2 实例中的服务?
问题描述
我是 aws 新手,我已经在 s3 存储桶中托管了所有 UI,也使用了 cloudfont。现在我已经在 EC2 实例中托管了所有的 restApi。
角度 UI -> s3 存储桶(example.com)后端 SpringBoot restApi -> EC2 实例(api.exaple.com)
但是有人可以告诉如何从 S3 (example.com) 存储桶/云前端使用托管在 EC2 (api.example.com) 中的 API 调用。
我在 EC2 实例 (api.example.com:8080) 中托管了 sprint boot rest api。
- s3 存储桶说方法不允许用于(GET、POST、PUT、DELETE)方法。
- 由于上述原因,我在代码中对 api.example.com 进行了硬编码,因此我的所有请求都将重定向到 api.example.com -> 这里的问题是浏览器不允许跨源。
现在我想知道如何使它工作。
解决方案
您需要在 S3 存储桶上启用 CORS(跨域资源共享)。
跨域资源共享 (CORS) 为加载在一个域中的客户端 Web 应用程序定义了一种与不同域中的资源进行交互的方式。借助 CORS 支持,您可以使用 Amazon S3 构建丰富的客户端 Web 应用程序,并有选择地允许跨域访问您的 Amazon S3 资源。
推荐阅读
- c# - 写作时回到pdf的上一页:itextsharp
- c++ - 如何选择文件保存到的位置?
- java - 如何在android studio中加载带有socket.io的地图后添加新标记
- python - API、Python、Requests 未收到 POST pdf 文件
- firebase - 向firebase中的所有用户推送通知
- node.js - 如何获取 currentUser 的 sessionToken?
- assembly - 相同的两个操作数之间的 AND+CMP 是否只是检查其中一个是否为零?
- javascript - 流类型:方括号之间的字段
- python - 使用 Python 应用 XSLT 2.0 转换
- shell - 如何确认两个作业信息之间是否存在节点?