使用服务器中的自签名证书的Firebase Service Worker



我没有使用localhost来测试服务工作人员。服务器具有自签名的证书,并且正在工作。

试图从FCM获得推送令牌时,它显示了:ServiceWorker注册失败:Domexception:未能注册服务工作人员:获取脚本时发生SSL证书错误。

FCM服务工作者可以使用服务器自签名证书吗?

这是一个登台服务器,因此我们不会为服务器购买SSL证书。

看起来您无法使用具有自签名证书的服务工作者。

将带有自定义标志的Chrome运行到白色列表以进行测试目的:

/Applications/Google Chrome Canary.app/Contents/MacOS/Google Chrome --user-data-dir=/tmp/foo --unsafely-treat-insecure-origin-as-secure=http://www.your.site

确保使用安装铬的正确路径。

请参阅https://stackoverflow.com/a/43484456/545726和https://deanhume.com/home/blogpost/testing-service-workers-locally-with-self-signed-certificates/10155

添加到aiham的答案

我测试了以下最新浏览器以与这些论点一起使用:

open -a Opera.app --args --user-data-dir=/tmp/foo --ignore-certificate-errors --unsafely-treat-insecure-origin-as-secure=https://localhost:8111
open -a Brave Browser.app --args --user-data-dir=/tmp/foo --ignore-certificate-errors --unsafely-treat-insecure-origin-as-secure=https://localhost:8111
open -a Google Chrome.app --args --user-data-dir=/tmp/foo --ignore-certificate-errors --unsafely-treat-insecure-origin-as-secure=https://localhost:8111

Chromium浏览器没有从这些设置开始,而是允许在本地使用SSL与SSL使用SSL的这种特定的DOMEXCESTION。

这个人也为此提供了一些见解:https://deanhume.com/testing-service-workers-workers-locally-with-self-signed-certificates/

最新更新