HTTPS iframe à l'intérieur d'une page HTTPS ne fonctionne pas
Comment pouvons-nous utiliser github pages incorporé dans une iframe correctement?
J'ai hébergé un site web dans firebase et c'est à l'aide d'un domaine personnalisé sur https, par exemple, https://www.example.com.
Ce site utilise réagir et d'autres choses, mais pour une route (landing page) je voudrais utiliser une page statique hébergé sur github, par exemple https://example.github.io/page. Donc, pour arriver à cela, j'ai créé un iframe à l'intérieur de la route https://www.example.com/page.
Le problème c'est que j'ai reçu le message d'erreur suivant:
Contenu mixte: La page à " https://www.example.com/page " a été chargé
sur HTTPS, mais a demandé une insécurité ressources
'http://example.github.io/page/'. Cette demande a été bloqué; le
le contenu doit être servi par le protocole HTTPS.
La chose étrange est l'iframe est correctement:
<iframe title="Page" src="https://example.github.io/page">unwanted text</iframe>
Il est déjà à l'aide de https, mais on dirait que c'est d'être ignoré.
J'ai déjà essayé d'utiliser cette méta <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
, à proximité de l'iframe avec </iframe>
et ajouter un le texte non désiré à l'intérieur de l'iframe.
Pouvons-nous résoudre ce problème?
- Essayez d'ajouter une barre oblique à l'iframe URL.
- Wow, on dirait que ça marche =). Je ne sais pas pourquoi. Aimeriez-vous poster une réponse?
Vous devez vous connecter pour publier un commentaire.
Si vous examinez attentivement votre code HTML et le message d'erreur, vous remarquerez une légère différence dans les Url outre le protocole de la partie:
https://example.github.io/page
- dans leiframe
src
taghttp://example.github.io/page/
- dans le message d'erreurLa raison pourrait être que l'URL https://example.github.io/page renvoie une rediriger à la "canonique" de la version avec la barre oblique (
/page/
), mais une URL de redirection doit être une URL complète, et le serveur pour une raison quelconque n'est pas y compris le protocole lui-même dans l'URL de redirection, toujours à l'aide dehttp://
à la place. Qui pourrait être en raison de la configuration ou de codage sur le côté serveur (voir aussi github question #289).Comme une solution de contournement, utiliser une URL qui ne déclenchent pas la mise en forme canonique de redirection, c'est à dire
https://example.github.io/page/
.