2016-05-31 18 views
3

Ich teste die https://codelabs.developers.google.com/codelabs/webrtc-web/#8 und lokal fragt mein Browser nach Erlaubnis, die Kamera und das Mikrofon zu verwenden - und die Dinge funktionieren.WebRTC, Browser fragt nicht um Erlaubnis, Kamera und Mikrofon zu verwenden - aber lokal tut es

Wenn ich den Code auf einen Server auf einer echten Domäne hochlade, fragt mein Browser nicht nach Berechtigungen und ich bekomme einen Fehler von getUserMedia() mit verweigerter Berechtigung.

Wie kann ich das verhindern?

Ich teste in Google Chrome, möchte aber, dass der Fix in Chrome, Firefox und Opera funktioniert (da sie WebRTC unterstützen).

Antwort

4

Sie verwenden kein HTTPS, oder?

Denken Sie daran, dass die neuesten coolen Spielzeuge nur für Websites verfügbar sind, die aus sicheren Quellen geladen werden. Localhost ist nur eine Ausnahme.

Wenn Sie denken, dass die Implementierung von HTTPS schmerzhaft ist oder teuer ist, dann werfen Sie einen Blick auf Cloudflare, 0,00 $ für einen Reverse Proxy mit kostenlosem Comodo HTTPS-Zertifikat.

Oder versuchen Sie diese kostenlose Zertifizierungsstelle https://letsencrypt.org/

ich hinter diesem Projekt bei einer securoty Konferenz in Paris vor einem Monat an den Mann sprach, und er erklärte, dass einzige, was sie nicht unterstützen Wildcard-Zertifikate ist. Dies sollte kein Problem für Sie sein. Es sei denn, Sie möchten HTTPS mit Ihrer eigenen Domain in Ihrem Content Delivery Network haben.

Über Browser-Kompatibilität, lesen Sie in diesem Thread:

https://community.letsencrypt.org/t/which-browsers-and-operating-systems-support-lets-encrypt/4394

+0

Hmm, kann man einfach https auf node.js mit http/node-static installieren und lassen Sie uns verschlüsseln? –

+0

Nun, ich würde es nicht "installieren" nennen, da das Zertifikat nur eine Datei ist, die für einen kryptografischen Prozess benötigt wird, mit dem Sie Ihre Nachrichten signieren können. Die Hauptaufgabe besteht lediglich darin, das Zertifikat für Ihre Domain gültig zu machen. Dann können Sie Ihren Knotenserver für die Verwendung des Zertifikats konfigurieren. Das ist alles. Aber wenn Sie Hilfe benötigen, die meisten Sachen zu automatisieren, überprüfen Sie diesen Link: https://github.com/Daplie/letsencrypt-express –

0

Wenn Sie das HTTPS-Protokoll verwenden, sollte sich Chrome an Ihre erste Wahl erinnern. Klicken Sie auf das Site-Favicon in der Adressleiste, um die aktuellen Einstellungen zu ändern.

+0

Es ist einfach nicht für Berechtigungen fragen - nicht einmal auf den ersten. Ich habe mit Einstellungen für Ausnahmen etc. überprüft. –

Verwandte Themen