Comment afficher la non-SSL images sur la connexion HTTPS?
Sur mon site web https, comment puis-je afficher des images à partir d'un site web sans un certificat?
Je possède l'exemple de domaine de:
- http://www.example.com
- http://statique.example.com (utilisé pour mon CDN)
Je possède un certificat pour www.example.com mais pas pour statique.example.com.
Sur mon www.example.com de domaine, vous pouvez vous inscrire pour le service sur SSL à l'aide de httpS://www.example.com
Sur le formulaire d'inscription (www.), Je veux afficher des images à partir de mon CA qui est sur http://statique.example.com mais ne possèdent pas un certificat pour ce sous-domaine.
Sur la https://www.example.com formulaire d'inscription - j'utilise AJAX pour dynamiquement tirez sur l'image à partir de http://static.example.com. Il semble que le navigateur n'affiche pas les non-SSL images lors de l'utilisation d'AJAX. Cependant, si que l'image a été trouvé sur le httpS://www.example.com domaine (le même que le formulaire d'inscription), l'image s'affiche via AJAX.
De l'architecture & design raisons, je tiens à garder ces images sur mon CA (static.example.com) sans avoir à acheter un certificat.
Personne ne sait comment je peux afficher ces images via AJAX de mon non-SSL sous-domaine sur mon httpS://www.example nom de domaine?
Merci d'avance.
Vous devez vous connecter pour publier un commentaire.
vous pouvez faire votre propre proxy ssl.
Exécuter toutes les images grâce à ce script.
Il suffit de faire un fichier et de mettre ce code PHP à l'intérieur. Utilisation
curl
oufile_get_contents
à l'écho le contenu.Donc, si vous voulez appeler l'sécurisé image, vous pouvez l'appeler comme ceci:
https://mysecureserver.com/path_to_this_script/?url=[base64 encoded image link]
base64_encode
chaînes sont souvent end with '=='. Cela peut être corrigé en utilisanturlencode(base64_encode($url))
sur la création, puisbase64_decode(urldecode(@$_GET['url']))
dans le code ci-dessus.Comme vous le feriez comprennent un https image:
Certains navigateurs pourraient se plaindre de l'utilisateur, cependant, que vous êtes en train de charger les ressources non sécurisées pour une page sécurisée. Rien que vous pouvez faire à ce sujet.
Il n'y a aucun moyen de le faire sans un certificat pour static.example.com qui ne va pas déclencher une alerte de sécurité ou de l'invite dans certains navigateurs (notamment Internet Explorer).
GoDaddy vend des certificats SSL pour $30ish. Je dirais que le printemps pour le peu de cash.
Vous devez servir tous les contenus que vous lier ou incorporer (directement ou via AJAX) sur une page servi par le protocole HTTPS en utilisant
https://
références.Un moyen de contourner le 3e partie, plaine-HTTP problème de contenu est de servir son contenu via un reverse proxy qui utilise le protocole HTTPS, éventuellement sur votre site ou à un service pour cela. Il y a peut être incidence juridique en procédant de la sorte, selon qu'elle est considérée comme la simple utilisation de proxy ou de la duplication de contenu (peut-être de même à ce que Google cache). En outre, ce faisant, vous êtes effectivement etre le garant du contenu de l'incorporation de cette façon.
Je sais que c'est une très vieille question, mais pensé que je jetterais dans mon $.02 de toute façon.
Je suis en supposant que le sous-domaine de http://static.example.com est également un sous-répertoire/dossier de http://www.example.com (I. E. http://www.example.com/static) comme c'est le cas avec la plupart d'hébergement de ces jours.
Vous pouvez varify cela, mais la navigation à http://www.example.com/static et https://www.example.com/static ... voyez-vous la même page comme vous le feriez si vous recherchez http://static.example.com
Si c'est vrai, vous pouvez nourrir l'image de ce ...
https://www.example.com/static/image.ext
Une autre possibilité pour ceux typiques de déchiqueter l'hébergement est à l'aide de l'partagé cert beaucoup de fournisseur d'hébergement de fournir. Vérifiez avec les sociétés d'hébergement de soutien. Ils sont généralement quelque chose comme ça ...
https://host.hostcoserver.com/~utilisateur/dir/image.ext
Vous souhaite à tous de trouver cela utile!
D'étendre @Jaka Jančar réponse, vous DEVEZ télécharger les images via AJAX?
Vous pouvez remplacer l'appel AJAX avec: ajouter un élément IMG dynamiquement.
De cette façon, votre ressource d'image est chargée, avec un rappel sur la réussite ou de l'erreur.
Certains navigateurs peuvent se plaindre que votre page contient à la fois les protocoles http et https contenu, mais il n'est pas très commun (ce qui semble être désactivé par défaut dans la plupart des navigateurs).
J'ai frappé ce problème pour un agrégateur de nouvelles que je dirige, j'ai fini à l'aide de PHP copie de tirer les images sur mon serveur, puis de les servir SSL.
http://php.net/manual/en/function.copy.php