在 Android 手机上使用 Chrome 调试 Service Worker

Dav*_*ith 5 android google-chrome-devtools service-worker

我正在开发一个渐进式网络应用程序,为了确保它在移动设备上运行(特别是在 Chrome for Android 上,因为它有 90% 的用户),我正在尝试在 Android 设备上测试服务工作者。

不幸的是,在Chrome for Android 上,我无法注册服务工作者

获取脚本时发生 SSL 证书错误。

无法加载资源:net::ERR_CERT_AUTHORITY_INVALID


我知道 service worker 需要通过 HTTPS 提供服务,所以我的 webapp有一个自签名证书。它不受浏览器信任,但仍然可以继续。使用 Firefox for Android 时,没问题我可以签名推送通知并注册服务工作者,但使用 Chrome 时它不起作用

在桌面版 Chrome 上,可以使用开发工具通过非安全来源启用 Service Worker。我希望找到可以在移动设备上使用的等效标志,但不存在。

有没有办法在 Chrome Android 上授权 service worker 进行调试


我发现了一个关于同一问题的旧问题,没有有用的答案并决定打开这个问题以供可见。

Vic*_*son 2

从您提到的另一篇 StackOverflow 帖子中,我可以看到解决方案就在问题中。

您需要将证书颁发机构crt添加到您的 Android 信任列表中


为什么特别是证书颁发机构 .crt ?

原因很简单,Android 只接受 CA 证书。


如何获得 CA 证书?

通常,证书颁发机构 (CA) 充当受信任的第三方。出于调试目的,您可以充当 CA 自行颁发自签名证书。

  1. 创建根密钥:(openssl genrsa -des3 -out rootCA.key 4096警告:任何持有此密钥的人都可以代表您签署证书!)

  2. 创建并自签名根证书:openssl req -x509 -new -nodes -key rootCA.key -sha256 -days 1024 -out rootCA.crt

请记住,您的 web 应用程序的SSL 证书需要使用相同的自行创建的 CA 生成


在 Android 设备上安装证书

获得 .crt 文件后,将其复制到您的设备中。然后转到“设置”>“安全”>“从存储安装”。它应该检测证书并让您添加它。

要确保其安装正确,请转至受信任的凭据>用户


归档时间:

查看次数:

2048 次

最近记录:

7 年 前