PWA-与Xampp和虚拟主机一起使用时,无法注册服务工作程序

PWA-与Xampp和虚拟主机一起使用时,无法注册服务工作程序,xampp,progressive-web-apps,Xampp,Progressive Web Apps,我正在尝试创建一个PWA(Progressive Web App)项目,其中服务器端处理是用PHP构建的。这就是为什么我需要使用Xampp,以便在部署到服务器之前测试我的项目 但我遇到了一个有趣的问题,我找不到答案 同一项目有两个相同的版本。一个上传到在线服务器,另一个位于Xampp文件夹 我通过三个不同的服务器访问这些文件夹 Google Chrome Web服务器:项目文件位于Xampp文件夹(C:\Xampp\htdocs),我可以通过访问它们 在线我的云服务器:Apache/Centos

我正在尝试创建一个PWA(Progressive Web App)项目,其中服务器端处理是用PHP构建的。这就是为什么我需要使用Xampp,以便在部署到服务器之前测试我的项目

但我遇到了一个有趣的问题,我找不到答案

同一项目有两个相同的版本。一个上传到在线服务器,另一个位于Xampp文件夹

我通过三个不同的服务器访问这些文件夹

  • Google Chrome Web服务器:项目文件位于Xampp文件夹(C:\Xampp\htdocs),我可以通过访问它们
  • 在线我的云服务器:Apache/Centos 6.1
  • Xampp服务器:位于(C:\Xampp\htdocs)。我正在使用虚拟主机,我可以通过gulmobil.bar访问(这是一个指向127.0.0.1/端口80的虚拟域)
  • 在打开页面方面,没有问题。这三台服务器都完成了各自的工作。但是,当我通过Chrome开发工具检查页面时,前两个服务器(Chrome Web服务器和在线服务器)工作正常,而在Xampp下工作的服务器则没有显示“服务人员”和“缓存存储”

    导航器似乎不支持服务人员。作为控制台 日志“服务人员未注册”

    问题可能与服务器设置有关,但我不知道哪些设置可能导致问题。提前谢谢

    编辑:我找到了一个与之类似的答案 我的问题。它说:“嗯,我在使用vhost,这就是为什么我 在我的url为之前,service-worker.js出现错误:
    pwapp.dev/work
    现在我的url是:
    localhost/pwapp/work/:/
    它是 工作正常,”

    这是你的电话号码


    我最终发现这是一个与Vhost使用相关的SSL问题。感谢@Jeff Posnick,我意识到为了运行Service Worker,您需要通过
    http://localhost[:端口]
    ,或通过
    http://127.x.y.z[:端口]

    如果有任何人有相同的问题想阅读更多的访问此

    但如果您仍然想使用Vhost,请按照以下步骤安装Xampp的SSL证书

      if ('serviceWorker' in navigator) {
        navigator.serviceWorker
                 .register('./service-worker.js')
                 .then(function() { console.log('Service Worker Registered'); });
      } else {
        console.log("service worker not registered");
      }