Dans mon site compatible HTTPS, j'ai ajouté un iframe qui devrait afficher le contenu de mon autre site, mais il ne fonctionne pas sous https.
<iframe src="//myothersite.com"></iframe>
Dans Firefox dernière version, tout fonctionne bien.
Dans Chrome, l'iframe n'est pas chargé et dans la console, je vois ces deux erreurs.
Mixed Content: The page at 'https://mysite' was loaded over HTTPS, but requested an insecure resource 'http://myothersite.com'.
This request has been blocked; the content must be served over HTTPS.
Failed to load resource: net::ERR_CACHE_MISS
Dans IE, le contenu ne se charge pas correctement et un message d’alerte s’affiche. si je clique sur Autoriser le contenu non sécurisé, il se charge correctement.
La question qui se pose est la suivante: comment puis-je faire cela IE et Chrome comme dans Firefox (charger du contenu mixte sans aucune alerte)?
Remarque: je n'ai modifié aucun paramètre du navigateur.
En fait, Firefox a commencé à faire de même: Comment réparer un site Web avec un contenu mixte bloqué
Ca a du sens. Si l'utilisateur accède à un site à l'aide de HTTPS, il s'attend à bénéficier d'une expérience sécurisée et il risque de ne pas être au courant du chargement partiel de l'application par des connexions non sécurisées. C'est la raison pour laquelle le navigateur bloque une telle incohérence.
Vous devrez fournir HTTPS sur myothersite.com.
Évidemment, il est préférable de ne pas avoir un contenu mixte pour empêcher les attaques MITM, mais pour ceux qui ne peuvent pas contrôler l'URL, cela devrait faire l'affaire
Changez le src = "http://linkToUrl.com" en
src = "// linkToUrl.com/script.js"
Je suis désolé, ce n’est pas aussi technique que les autres réponses, mais j’ai eu le même problème pour relier jsquery de la sorte, et pour moi, le problème a été résolu en changeant simplement http://
en https://
. Cela peut ne pas fonctionner, mais cela a fonctionné pour moi et cela pourrait fonctionner pour vous.
entrez la description de l'image ici
lorsque je définis l'URL: <a href="http://127.0.0.1:8080/download/1.txt"></a>
à partir d'une requête https, il signale une erreur: Contenu mixte: La page sur 'https://127.0.0.1/index.html'
a été chargée via HTTPS, mais une ressource non sécurisée 'http://127.0.0.1:8080/download/1.txt'
a été chargée.
This request has been blocked; the content must be served over HTTPS.
Failed to load resource: net::ERR_CACHE_MISS
quand j'ai ajouté le target="_blank"
à l'url: <a target="_blank" href="http://127.0.0.1:8080/download/1.txt">
, ça marche! , Ça marche! Il est bien connu que target="_blank"
signifie que vous ouvrez le document lié dans une nouvelle fenêtre, un nouvel onglet ou une nouvelle demande!
J'ai d'autres complications avec CloudFlare, il ne se charge pas car le fichier a été mis en cache en tant que http. Allez simplement dans CloudFlare et "Purge Everything" dans l'onglet cache, ou bien activez le "Mode de développement".
Le problème est un contenu mixte, le navigateur ne nous permet pas de le faire.
Vous devez changer l'URL de:
http://example.com
à
//example.com