当前位置: 首页 > 知识库问答 >
问题:

Angular Service Worker-加载资源失败:服务器响应状态为504(网关超时)

仲孙逸明
2023-03-14

我在我们的Angular 5.2.5应用程序中使用了Angulal-CLI 1.6.6@angular/service-Worker 5.2.5。在本地精简服务器和正式服上一切正常,除了在我们的正式生产环境中弹出一条错误消息:

加载资源失败:服务器响应状态为504(网关超时)

调查ngsw工作者。jsscript我找到了上面生成错误消息的行(后面2466行):

    async safeFetch(req) {
        try {
            return await this.scope.fetch(req);
        }
        catch (err) {
            this.debugger.log(err, `Driver.fetch(${req.url})`);
            return this.adapter.newResponse(null, {
                status: 504,
                statusText: 'Gateway Timeout',
            });
        }
    } 

catch中的控制台日志记录错误会导致以下错误:

    TypeError: Failed to execute 'fetch' on 'ServiceWorkerGlobalScope': 'only-if-cached' can be set only with 'same-origin' mode
        at Driver.safeFetch (ngsw-worker.js:2464)
        at Driver.handleFetch (ngsw-worker.js:1954)
        at <anonymous>

一个似乎与此问题相关的错误:是什么导致未能在“ServiceWorkerGlobalScope”上执行“fetch”:“仅当缓存”只能用“同源”模式错误设置?

产生此错误的req是对应用程序的任何首次访问:

https://example.com/test/#/connect
https://example.com/test/#/map?token=[accestoken]
...

重新加载应用程序时,错误不会重复。

有人能帮我吗?服务工作者的safetch()中是否存在bug(可能是为了支持HashLocationStrategy)?我必须更改配置中的任何内容吗?

共有2个答案

童花蜂
2023-03-14

我在chrome浏览器中遇到这个错误,因为SSL证书已过期。解决方案是用有效的SSL证书替换SSL证书。

章博耘
2023-03-14

从后端禁用ETag标头暂时解决了此问题。

 类似资料:
  • 我正在使用django-python和javascript开发一个项目。当我从视图调用长时间运行的流程(耗时)大约超过20分钟时,流程将成功启动。我在ajax中使用loader通知用户进程正在运行。进程完成后,加载程序将停止并更改为完成状态。 但问题是,每次进程启动14.59分钟后,装载机都会停止并将状态更改为“已完成”。但在后台运行的进程尚未完成。页面在此时间之后崩溃。过程完成后,我将结果绑定到

  • 服务器js公司 应用程序。js公司 注册处理程序代码 当我试图注册一个用户时,我遇到了错误400。加载资源失败:服务器响应状态为400(错误请求),我已附加我的注册表。js文件寄存器。js:26个职位https://warm-earth-96837.herokuapp.com/register400(错误请求)寄存器。onSubmitSignIn@寄存器。js:26 400错误请求错误是一个HTT

  • 这是我第一次使用Sanity构建博客网站来练习使用React JS,在那里我应该从sanity.io.调用一个API,但是我的React网站无法从Sanity获取数据。在网页上应该从Sanity博客导入数据的区域实际上是一个空白屏幕。当我检查控制台时,我发现了这个错误: 这是我的网络负载 还有我的网络预览 这是本应显示信息的页面的代码 非常感谢你的帮助。谢谢

  • 我正在运行一个spring MVC应用程序,下面是我的项目结构。 在我的中,我尝试在header部分加载js。 但我在浏览器中发现了以下错误。 在我的spring文件中,我添加了 有人能指出我犯的错误吗?

  • 我在数据库中添加了一行上传图像。当我查看行列表时,会出现图像,但当我尝试更新行时,我遇到错误“加载资源失败:服务器响应状态为400:spring mvc”。图像未出现!! 谁能帮帮我!

  • 我在浏览器中收到错误消息“加载资源失败:服务器响应状态为404”,我正在使用Node/Express、Mongo数据库和Docker。没有Docker一切正常。 文件夹结构: 后端 服务器 服务器。js公司 src公司 索引。html server.js 指数html 包裹json{脚本} 文档文件 docker编写。yml公司 如果我在浏览器中输入“192.168.99.100:3000/gal