2016-08-02 46 views
18

Ich habe Entwicklerserver, die zum Testen verwendet werden. Sie verfügen über selbstsignierte SSL-Zertifikate, die es uns ermöglichen, die Webanwendung über HTTPS zu testen, jedoch mit deutlichen Warnungen, dass die Zertifikate nicht verifizierbar sind.Können Sie einen Service-Mitarbeiter mit einem selbstsignierten Zertifikat verwenden?

ist das in Ordnung, aber ich habe einen Servicemitarbeiter, die einen Fehler mit dem navigator.serviceWorker.register

SecurityError: Failed to register a ServiceWorker: An SSL certificate error occurred when fetching the script.

wirft Wie verwende ich einen Service-Arbeiter mit einem Intranet Testserver, die ein selbst signiertes Zertifikat hat?

+0

Warum nicht einfach ein gültiges Zertifikat verwenden? – Tom

+0

@Tom Dies sind interne Testsysteme, es gibt kein Budget, um gültige zu kaufen. – Keith

+3

Kaufen? Wenn es kein Platzhalter ist, können Sie es kostenlos verschlüsseln: http://letsencrypt.org/ – Tom

Antwort

8

Als Alternative zur Verwendung selbstsignierter Zertifikate können Sie Chrome oder Firefox so starten, dass bestimmte Domänen sicher sind. Zum Beispiel mit Chrome auf einem Mac, können Sie es starten mit:

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

Service-Arbeiter sollten dann von http://www.your.site arbeiten.

Weitere Informationen finden Sie hier: Options for testing service workers via HTTP

Edit: Changed --unsafety-...---unsafely-...

+5

Hinweis: Das '--allow-unsecure-localhost' Flag ist auch hilfreich bei der lokalen Entwicklung – vine77

+0

Ich versuchte dies wie folgt und ich bekomme immer noch den gleichen Fehler: ./chrome --unsafely-treat -insecure-origin-as-secure = http: //192.168.120.49: 3000. Ich habe es auch mit dir versucht. Bitte hlep – maths

1

Für die lokale Entwicklung, die wir selbst signierte Zertifikate verwenden. Um die Probleme in Bezug auf lokale OSX-Entwickler zu überwinden. Wir haben die folgenden:

  • Ihr Zertifikat erstellen und es
  • Navigieren url
  • öffnen dev Tools> Sicherheit> Ansicht Zertifikat auf dem Desktop auf das https dienen bis
  • ziehen das Zertifikat-Symbol und doppelklicken Sie auf Es öffnet den Zugriff auf den Schlüsselbund.
  • Ziehen Sie das Zertifikat-Symbol zum Anmelden, öffnen Sie die Anmeldung und doppelklicken Sie auf das Zertifikat (es sollte mit der Dev-Domain oder ähnlich benannt werden) öffnen Sie die Vertrauens-Dropdown und wählen Sie immer vertrauen. Gehen Sie zurück zu Ihrer App, schließen Sie das Fenster und öffnen Sie es erneut mit https. Sie sollten jetzt ein "faux" https für Ihre Entwickler-Domain haben.