503 正常(来自 serviceWorker)

Posted

技术标签:

【中文标题】503 正常(来自 serviceWorker)【英文标题】:503 ok (from serviceWorker) 【发布时间】:2019-05-28 08:30:42 【问题描述】:

我使用 @angular/service-worker 为 angular4 Web 应用程序生成软件。 在更新 ngsw-manifest.json 以处理来自服务器的动态请求之后 离线时(首次加载后)我得到“状态代码:503 OK(来自 ServiceWorker)”。

有什么想法吗?

【问题讨论】:

此 ServiceWorker 在离线访问动态内容时返回“503 OK (from ServiceWorker)”存在一个未解决的错误 (Chrome) #168 github.com/angular/mobile-toolkit/issues/168 【参考方案1】:

您的问题与您的网络服务器或代理 nginx 上的 [内容安全策略 (CSP)] 配置有关。由于您与 nginx 连接正常,因此您的浏览器中未启用 PWA 离线功能。

阅读更多内容 (https://content-security-policy.com/)。

【讨论】:

【参考方案2】:

性能策略有效(您可以尝试此策略),由于 service worker 的异步特性,动态内容仅在第二个页面加载时缓存。在您的 ngsw-config.json 中:

      "cacheConfig": 
        "strategy": "performance",
        "maxSize": 100,
        "maxAge": "3d"

默认情况下,运行时抓取的文件不会被缓存,但通过创建动态缓存组,Service Worker 抓取的匹配文件也会被缓存。选择 optimizeFor 性能设置将始终首先从缓存中提供服务,然后尝试缓存任何更新。选择freshness意味着Service Worker会尝试通过网络访问文件,如果网络出现故障,则会提供缓存的副本。

【讨论】:

以上是关于503 正常(来自 serviceWorker)的主要内容,如果未能解决你的问题,请参考以下文章

来自 Azure 前门的 503 错误或空白页

如何在 Ember 应用程序中处理来自服务器的 503 响应?

ServiceWorker 使用

在 AWS EC2 ELB SSL 上运行 WordPress 时出现 503 错误

Docker - 来自守护程序的错误响应:收到意外的 HTTP 状态:503 服务不可用

使用 JMeter 时出现 503 HTTP 错误,但网页在浏览器上加载正常