You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

API Gateway对接Fargate时本地资源(如sw.js)404错误求助

解决API Gateway + Fargate场景下Service Worker 404错误

以下是针对你遇到的Service Worker注册404问题的具体解决步骤:

  • 检查API Gateway路由配置
    确保API Gateway添加了针对/sw.js的转发路由:

    • 若使用REST API:新增GET方法,路径设为/sw.js,集成请求指向Fargate服务的/sw.js路径,保持与根路径相同的集成配置(比如CloudMap服务发现、VPC链路等)。
    • 若使用HTTP API:添加路由规则GET /sw.js,集成目标指向你的Fargate服务实例,确保请求能正确转发到应用的5230端口。
  • 调整Service Worker注册路径
    将navigator.serviceWorker.register("/sw.js")中的绝对路径改为相对路径:

    navigator.serviceWorker.register("./sw.js")
    

    相对路径会基于当前页面的URL自动拼接,避免API Gateway根路径与Fargate静态资源路径不匹配的问题。同时,Service Worker的作用域会自动匹配当前页面的路径范围,减少跨域/跨作用域的注册失败风险。

  • 验证Fargate应用的静态资源服务
    本地测试应用的5230端口,确认http://localhost:5230/sw.js能返回200状态码和正确的脚本内容。检查应用的静态资源配置:

    • 比如使用Express框架时,确保express.static中间件正确指向包含sw.js的静态目录:
      app.use(express.static('public')); // 假设sw.js放在public目录下
      
  • 处理基础路径映射(若有配置)
    如果你的API Gateway配置了自定义域名+基础路径(如https://xxxxxx.execute-api.us-east-1.amazonaws.com/myapp),需在注册时带上基础路径前缀:

    navigator.serviceWorker.register("/myapp/sw.js")
    

内容的提问来源于stack exchange,提问作者APigInBlanket

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 19:12:15