Pouvez-vous utiliser un travailleur des services avec un certificat auto-signé?

j'ai un serveur de développement qui est utilisé pour les tests. Ils ont des certificats SSL auto-signés, qui nous permettent de tester l'application web sur HTTPS, mais avec des avertissements proéminents que les certificats ne sont pas vérifiables.

c'est bien, mais j'ai un employé de Service qui jette une erreur avec le navigator.serviceWorker.register

SecurityError: N'a pas enregistré un agent de service: une erreur de certificat SSL s'est produite lors de la récupération du script.

comment utiliser un travailleur des services avec un serveur d'essai intranet qui possède un certificat auto-signé?

27
demandé sur Keith 2016-08-02 21:41:54

3 réponses

comme alternative à l'utilisation de certificats auto-signés, vous pouvez lancer Chrome ou Firefox de sorte qu'il prétend que certains domaines sont sûrs. Par exemple, en utilisant Chrome sur un Mac, vous pouvez le lancer en utilisant:

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

les travailleurs des services devraient alors travailler à partir de http://www.votre.site .

plus d'informations peuvent être trouvées ici: Options pour tester le service des travailleurs via HTTP

modifier: changé --unsafety-... en --unsafely-...

17
répondu Chuck 2017-06-20 21:54:47

Pour le développement local, nous utilisons auto-signé certs. Résoudre les problèmes liés au développement local sur OSX. Nous avons fait ce qui suit:

  • Créer votre certificat et la servir
  • naviguez vers l'url https
  • Ouvrir les outils de dev > sécurité > afficher le certificat
  • faites glisser l'icône de certificat sur le bureau et doubleclickez dessus, cela ouvrira l'accès au porte-clés.
  • faites glisser l'icône de certificat pour vous connecter, ouvrez une session et double-cliquez sur le certificat (il doit être nommé avec le domaine dev ou similaire) ouvrez la liste déroulante de confiance et sélectionnez Toujours Confiance. Retournez à votre application fermez la fenêtre et ré-ouvrez avec https, vous devriez maintenant avoir 'faux' https pour votre domaine dev.
2
répondu Lesbaa 2017-11-13 12:23:14

la réponse acceptée ci-dessus n'a pas fonctionné pour moi. J'ai ajouté les erreurs --ignore-certificate-à celle suggérée par @stef52 pour cette question erreur avec l'inscription des travailleurs des services et qui a fonctionné

chrome.exe --user-data-dir=/tmp/foo --ignore-certificate-errors --unsafely-treat-insecure-origin-as-secure=https://localhost/

ou pour les utilisateurs MAC

 ./Google\ Chrome --user-data-dir=/tmp/foo --ignore-certificate-errors --unsafely-treat-insecure-origin-as-secure=https://localhost
0
répondu AJC 2018-09-25 17:20:01