在 Android 移动设备上使用 Chrome 调试 Service Worker

2024-03-30

我正在开发一个渐进式 Web 应用程序,为了确保它可以在移动设备上运行(特别是在 Android 版 Chrome 上,因为它有 90% 的用户),我正在尝试在 Android 设备上测试 Service Worker。

不幸的是,在安卓版 Chrome, I'm 无法注册 Service Worker :

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

无法加载资源:net::ERR_CERT_AUTHORITY_INVALID


我知道 Service Worker 需要通过 HTTPS 提供服务,所以我有一个自签名证书对于我的网络应用程序。它不受浏览器信任,但无论如何仍然可以继续。使用 Android 版 Firefox 时,没问题,我可以签名推送通知并注册服务工作线程,但是Chrome 无法正常工作.

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

有没有办法在 Chrome Android 上授权 Service Worker 用于调试目的?


我发现一个老问题,没有有用的答案there https://stackoverflow.com/questions/40331932/remotely-debugging-service-worker-on-chrome-android-with-self-signed-certificate关于同一个问题,并决定开放此问题以提高可见度。


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

你需要add a 证书颁发机构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

请记住您的网络应用程序的SSL证书需要使用同一个自创建的CA来生成.


在 Android 设备上安装证书

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

要确保其安装正确,请转至可信凭证 > User.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Android 移动设备上使用 Chrome 调试 Service Worker 的相关文章

随机推荐

  • python,pandas,按条件删除行

    您好 我需要帮助根据条件删除一些行 如果估计价格减去价格超过 1500 正 则删除该行 price estimated price 0 13295 13795 1 19990 22275 2 7295 6498 例如只有索引 1 会被删除
  • 如何在关系中设置主键?

    我想知道如何正确设置主键 in a Relation 例如 我们有ER图其中包含元素 关键属性 关键属性较弱 识别关系 关联实体 为了将其翻译成关系模型我们应该做一些技巧 上面的所有元素都处理关系的主键 但它们都是自然键 这样我们就可以离开
  • 下载 PMC 和 PubMed 数据库中的所有全文文章

    根据 NCBI Help Desk 回答的问题之一 我们无法 批量下载 考研中心 但是 我可以使用 NCBI E utilities 下载吗allPMC 数据库中的全文论文使用Efetch或者至少使用以下命令找到所有相应的 PMCidEse
  • 是否可以使用 jQuery(或其他库)*不*滚动 div ?

    我想以编程方式滚动 divwithout使用任何库 可能吗 如果可能的话 如何实现 谢谢 是的 var myEl document getElementById myEl myEl scrollLeft 12 myEl scrollTop
  • 测试当前目录是否在 Rails 项目内 (bash)

    有没有一种简单的方法来测试当前目录是否在 Rails 项目内 显然 Rails 本身对此进行了测试 以便使用 Rails 子命令 生成 脚手架等 因此大概有一种直接的方法来测试这一点 我正在寻找与您类似的东西测试您是否在 Git 存储库中
  • 如何确定Compact Framework 3.5中dll文件的文件版本[重复]

    这个问题在这里已经有答案了 我想在指定路径时确定 c 中 dll 文件的文件版本 假设 path x y z dll 给定路径时如何查找 z dll 的文件版本 注意 我使用 Compact Framework 3 5 SP1 Get th
  • Bootbox 警报框中的新行

    我想在我的 Bootbox Alert Box 中新建一行 我知道在 Javascript 中你可以使用 n但这似乎不起作用 这是我尝试过的 bootbox alert Hello n world 您可以使用 html 来实现 bootbo
  • printf 中可以使用指向字符串的指针吗?

    我在想这样的事情 include
  • 使用角度材质 2 输入的自定义样式

    我正在尝试设计输入的样式 使其具有一定的宽度 我正在使用 Angular Material 2 但由于某种原因 css 中的样式没有应用于输入标签 这是我的问题的一个工作插件 http plnkr co edit qHbyig0gHtxdq
  • 解耦(并行处理)Web 应用程序的非立即进程的最佳方法?

    我正在寻找一种好的策略来真正解耦我的 Web 应用程序 ASP NET MVC C 的非立即进程 以进行并行处理 我将非立即定义为不需要立即完成以呈现页面或更新信息的所有事情 这些过程包括发送电子邮件 根据数据库信息更新一些内部统计数据 从
  • 从 dymola 模型获取高质量图片

    我需要从 dymola 的建模对象中获得相当好的图像 由于模型的尺寸 截取屏幕截图 使用截图工具会导致图片质量非常差 有没有办法导出我在dymola中画的 图片 您可以将模型导出为可扩展和可编辑的 SVG 图像 此致 雷内 贾斯特 尼尔森
  • 有没有办法将 Unicode 文本存储在配置为“US7ASCII”的 Oracle 数据库中

    我们最近遇到了一个障碍 即商标符号从一个 Oracle 数据库复制到另一个数据库 但它看起来像 我们已将问题跟踪到配置了 US7ASCII 字符集的目标数据库 不幸的是 我们目前无法重建数据库来解决这个问题 有没有一种方法可以定义特定列来使
  • C++ 3sum 复杂度

    我试图解决cpp中的3和问题 给定一个由 n 个整数组成的数组 S S 中是否存在满足 a b c 0 的元素 a b c 查找数组中所有总和为零的唯一三元组 class Solution public vector
  • WxPython:符合“确定”/“取消”按钮顺序的跨平台方式

    我正在学习 wxPython 所以大多数库和类对我来说都是新的 我正在创建一个首选项对话框类 但不知道确保 确定 取消 或 保存 关闭 按钮在平台上的顺序正确的最佳方法 该程序旨在在 GNOME 和 Windows 上运行 因此我想确保每个
  • rdi 寄存器用于无参数函数的目的

    考虑这个简单的函数 struct Foo int a int b int c int d int e int f Foo foo Foo f f a 1 f b 2 f c 3 f d 4 f e 5 f f 6 return f 它生成以
  • 无法为 Linux Redhat 服务器上安装的 R studio 安装 Devtools 包

    我无法安装devtools在 Redhat Linux 服务器上的 R Studio 中打包 这些错误消息出现 ERROR configuration failed for package RCurl removing home xx R
  • Stripe CLI ubutu 安装问题

    我想在 ubuntu 20 04 上安装 Stripe CLI 我按照 Stripe 文档中的步骤安装 从以下位置下载最新的 linux tar gz 文件https github com stripe stripe https githu
  • 如何使用 Jetty 客户端获取基于请求的连接所花费的时间

    我想计算根据要求请求开始和连接建立 TCP 连接建立 之间的时间 我问了这个问题question https stackoverflow com questions 66605208 how to get the time it took
  • 来自同一原始指针的 C++ 多个唯一指针

    考虑下面我的代码 我对唯一指针的理解是 只能使用一个唯一指针来引用一个变量或对象 在我的代码中 我有多个 unique ptr 访问同一变量 这显然不是我所知道的使用智能指针的正确方法 因为指针应该从创建时就拥有完整的所有权 但是 为什么这
  • 在 Android 移动设备上使用 Chrome 调试 Service Worker

    我正在开发一个渐进式 Web 应用程序 为了确保它可以在移动设备上运行 特别是在 Android 版 Chrome 上 因为它有 90 的用户 我正在尝试在 Android 设备上测试 Service Worker 不幸的是 在安卓版 Ch