AWS S3 路由重写
AWS S3 Route Rewrite
我想设置我的 S3 存储桶以将路由 /api
的路径重写为 API 网关 URL。
所以采取以下内容:
- 用户访问网站 bacon.com
- 网站从 Cloudflare DNS 转到 S3 存储桶
- 网站是一个 React 应用程序
- React 应用调用 api 即
bacon.com/api
- S3 将
/api
路径重写到 api 网关 url https://ljsdflkjlsdk.execute-api.us-east-1.amazonaws.com/dev
我能够在这里工作:
然而,它将 URL 转发到不需要的 API 网关 URL。
我不完全确定这是否可行。我在想这可能需要我实现类似 Route53 的东西,或者编写一个 cloudflare worker 来处理重写?
在此先感谢您的帮助!
所以你想代理请求到你的后端/api
路径API,而其他路由,例如/login
由 React 应用提供服务。
我可能错了,但我认为 S3(作为静态托管服务提供商)和 Route 53(作为 DNS 工具)都无济于事。
既然您提到您已经在使用 Cloudflare,那么您可以使用 CF Workers 轻松做到这一点!
- 确保
bacon.com
由 CF 代理(DNS 选项卡上的橙色云打开)
- 使用此代码创建一个新工作人员:
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)
}
- 将工作人员与
bacon.com
的“工作人员”选项卡上的 /api
路径相关联
bacon.com/api
现在是代理向后端发送请求 url!
我想设置我的 S3 存储桶以将路由 /api
的路径重写为 API 网关 URL。
所以采取以下内容:
- 用户访问网站 bacon.com
- 网站从 Cloudflare DNS 转到 S3 存储桶
- 网站是一个 React 应用程序
- React 应用调用 api 即
bacon.com/api
- S3 将
/api
路径重写到 api 网关 urlhttps://ljsdflkjlsdk.execute-api.us-east-1.amazonaws.com/dev
我能够在这里工作:
然而,它将 URL 转发到不需要的 API 网关 URL。
我不完全确定这是否可行。我在想这可能需要我实现类似 Route53 的东西,或者编写一个 cloudflare worker 来处理重写?
在此先感谢您的帮助!
所以你想代理请求到你的后端/api
路径API,而其他路由,例如/login
由 React 应用提供服务。
我可能错了,但我认为 S3(作为静态托管服务提供商)和 Route 53(作为 DNS 工具)都无济于事。
既然您提到您已经在使用 Cloudflare,那么您可以使用 CF Workers 轻松做到这一点!
- 确保
bacon.com
由 CF 代理(DNS 选项卡上的橙色云打开) - 使用此代码创建一个新工作人员:
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)
}
- 将工作人员与
bacon.com
的“工作人员”选项卡上的 bacon.com/api
现在是代理向后端发送请求 url!
/api
路径相关联