AWS S3 路由重写

AWS S3 Route Rewrite

我想设置我的 S3 存储桶以将路由 /api 的路径重写为 API 网关 URL。

所以采取以下内容:

我能够在这里工作:

然而,它将 URL 转发到不需要的 API 网关 URL。

我不完全确定这是否可行。我在想这可能需要我实现类似 Route53 的东西,或者编写一个 cloudflare worker 来处理重写?

在此先感谢您的帮助!

所以你想代理请求到你的后端/api路径API,而其他路由,例如/login 由 React 应用提供服务。

我可能错了,但我认为 S3(作为静态托管服务提供商)和 Route 53(作为 DNS 工具)都无济于事。

既然您提到您已经在使用 Cloudflare,那么您可以使用 CF Workers 轻松做到这一点!

  1. 确保 bacon.com 由 CF 代理(DNS 选项卡上的橙色云打开)
  2. 使用此代码创建一个新工作人员:
const backendUrl = "https://ljsdflkjlsdk.execute-api.us-east-1.amazonaws.com/dev"

addEventListener('fetch', event => {
  event.respondWith(handleRequest(event.request))
})

/**
 * Respond to the request
 * @param {Request} request
 */
async function handleRequest(request) {
  return fetch(backendUrl, request)
}
  1. 将工作人员与 bacon.com
  2. 的“工作人员”选项卡上的 /api 路径相关联
  3. bacon.com/api 现在是代理向后端发送请求 url!