自最新更新以来,我们在 Chrome 中遇到以下与服务 Worker 相关的 JS 错误:
脚本资源位于重定向之后,这是不允许的。
_application-786bec8dbeba5dccf3118668436791948e535eb587456944e94e0724bc417b14.js:76435
注册 Service Worker 失败:SecurityError:为范围 ('https://www.xxxxx.com/') 注册 ServiceWorker 时失败,脚本为 ('https://www.xxxxxx.com/service-worker.js'):脚本资源位于重定向之后,这是不允许的。
我们将上传文件托管在 S3 上,并通过 Cloudfront 进行 CDN 加速。
有人遇到过吗?
我不太确定;我知道 @falco 正在做一些 Service Worker 的改动。
奇怪的是,我在调试控制台查看该脚本时,收到了以下错误:
Could not load content for https://cdn-uploads.xxxxxxx.com/assets/_application-786bec8dbeba5dccf3118668436791948e535eb587456944e94e0724bc417b14.js (HTTP error: status code 403, net::ERR_HTTP_RESPONSE_CODE_FAILURE)
看来该资源并不存在。我现在将尝试重新构建应用。也许只是某个临时故障?
Falco
(Falco)
2021 年5 月 27 日 17:26
4
如果您 cURL 服务工作者 URL,您得到的是 3xx 响应而不是 2xx 响应吗?
服务端的 worker.js 返回了 200 状态码,
但加载它的脚本却奇怪地返回了 403。
待应用再次重建后,我会回来汇报情况。
Falco
(Falco)
2021 年5 月 27 日 17:31
6
所以 _aplication 是 Chrome 开发者工具的一个显示错误。它只是 application 的美化打印版本,实际上并不存在。这并非本话题所讨论的问题……
因此它并不位于重定向之后。也许你的浏览器缓存了该 URL 的重定向?你能在开发者工具的 Network(网络)标签页中检查这个特定的请求吗?
我已重新构建应用,但错误仍然存在。重新构建时,所有脚本难道不会获得新的 URL,从而应该清除缓存吗?
Falco
(Falco)
2021 年5 月 27 日 17:39
10
我在获取 Service Worker 文件时收到了 302 重定向,而 Meta 上显示的是简单的 200 状态码。你能尝试重新构建吗?