我该如何让“Service Worker”在本地网络中工作?

3
我正在使用Angular 6构建应用程序,并希望此应用程序能够离线工作。我正在使用Angular 6和Service Worker,并希望将此应用程序托管在本地IIS服务器上,但我没有HTTPS证书。
如何使服务工作者在没有HTTPS的情况下工作?该应用程序必须在Android、iPhone和Windows上工作。

请点击此处查看:https://dev59.com/xVsX5IYBdhLWcg3wLMzK - David
你好 David,谢谢你的回复,但这个答案是用于测试的。我想让它在生产环境中工作。 - mhd saeed shamborsh
1个回答

2
没有使用https是无法使其运作的。要启用服务工作者,您的网站必须通过 HTTPS 服务。但是,http://localhost和http://127.x.X.X除外。
如果您希望该服务在所有平台上运行,请务必拥有有效的、受信任的SSL证书。在Windows上,我认为有一些Chrome选项可以绕过此问题,但这仅适用于测试。
编辑:
您可以在IIS中添加证书。它可能不是一个受信任的证书,但是您可以在设备上手动安装和信任该证书。这是一种仅适用于开发的手动过程。
正如@Benjamin所指出的那样,如果您所有的用户都在同一公司网络上,则可以在所有计算机(和手机)上部署该证书,然后应该就可以使用了。

我能否使我的应用程序在没有服务工作者的情况下离线工作?有没有其他方法? - mhd saeed shamborsh
我编辑了我的回答。此外,如果您不使用PWA并将其转换为使用cordova的混合应用程序,则无法在设备上离线运行Web应用程序。 - David
1
你没有说明你所在的工作环境,例如家庭、企业等。但是你可以生成自签名证书,让你的机器信任并部署它们。这在公司内部网络中很常见。 - Benjamin Maurer
@mhdsaeedshamborsh 是的,但关于用户呢?他们都是公司用户,使用公司网络吗? - David
这是你们的IT部门应该知道的事情。 - David
显示剩余8条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接