Hoe om te gaan met net::ERR_SSL_PROTOCOL_ERROR?

Ik voeg een JS-bibliotheek toe aan mijn website

<script type="text/javascript" src="https://www.turnjs.com/lib/turn.min.js "></script> 

die is ontworpen, onderhouden en gehost door een webdesignbedrijf.
De implementatie van wat ik probeer te bereiken lijkt goed gecodeerd te zijn – zie mijn JSFiddle– het werkt prima zonder fouten. Maar als ik de code van mijn JSfiddle kopieer en plak in mijn website, werkt het helemaal niet – de Google Chrome-ontwikkelaarsconsole laat dit zien:

GET https://www.turnjs.com/lib/turn.min.js net::ERR_SSL_PROTOCOL_ERROR

Maar het is raar, aangezien mijn Jsfiddle-code dezelfde turn.min.jsbevat en het daar werkt, maar op mijn website niet.


Antwoord 1, autoriteit 100%

Dit is geen javascript-probleem, het is een ssl-probleem.

Je kunt geen bestand via een onveilige verbinding (http) ophalen van een html-pagina die wordt aangeboden via een beveiligde verbinding (https). Als je https gaat gebruiken (en dat MOET je!) dan moet je het script via een beveiligde verbinding krijgen.
Om het bestand te krijgen, moet u gebruiken:

<script type="text/javascript" src="https://www.turnjs.com/lib/turn.min.js "></script> 

En zorg ervoor dat het bestand wordt aangeboden via https, door de server dienovereenkomstig te configureren. Hier is een eenvoudige configuratie voor lighttpd, en hier is er een voor apache. Als je geen door een CA ondertekend certificaat hebt, kun je er een krijgen met letsencrypt (www.letsencrypt.org/getting-started/). Als u de server niet beheert, moet u contact opnemen met de persoon die dat wel doet.


Antwoord 2, autoriteit 23%

  • 1) http://www.turnjs.com/lib/turn.min .jskon niet worden bereikt via HTTPS. Dit veroorzaakt uw fout.
  • 2) JSfiddle toegankelijk via HTTP, dus geen problemen
  • 3) <script type="text/javascript" src="https://www.turnjs.com/lib/turn.min.js "></script>zal in ieder geval problemen veroorzaken voor uw site, omdat dit een voorbeeld is van gemengde inhoud die door bijna alle browsers wordt geblokkeerd.

Oplossing:

Kopieer dit bestand naar uw server en voeg vervolgens de lokale versie toe

Ik geef er de voorkeur aan om op die manier script aan de pagina’s toe te voegen:
<script type="text/javascript" src="//www.turnjs.com/lib/turn.min.js "></script>.

Hierdoor kon de browser het verbindingstype zelf controleren. Wat in jouw geval niet werkt (zie p.1).

Een zeer goede uitleg in Google-ontwikkelaars

Other episodes