2 votes

AWS Load Balancer Https Listening to EC2 on http

Mon site web tourne dans une instance EC2, Apache2 écoute sur 80.

Puisqu'il doit utiliser https, j'ai configuré un équilibreur de charge AWS. J'ai ajouté le certificat ACM au Load Balancer.

Ajout du dns du Load Balancer dans l'alias du Domain dans Route53.

Et l'équilibreur de charge écoute 443 et redirige vers l'instance EC2 80.

Configuration du groupe de sécurité EC2 pour qu'il n'accepte que les connexions du groupe de sécurité de l'ELB sur le port 80.

Le problème est que lorsque j'accède à mon site web, il affiche le contenu sans js et css.

En disant : "Cette page tente de charger des scripts à partir de sources non authentifiées".

Ces scripts et feuilles de style se trouvent dans l'instance EC2.

Quelle est la bonne façon de faire en sorte que tous les scripts, feuilles de style, images soient chargés via https ?

1voto

Ed Ball Points 1341

Il s'agit d'un problème d'application et non d'un problème de serveur si vous voulez que l'ELB mette fin à SSL.

Il met fin à ssl sur l'ELB et renvoie http au serveur web. Votre application voit donc un trafic http normal. L'ELB ajoute un en-tête spécial au trafic pour faire savoir à tout ce qui se trouve derrière que le trafic était SSL, au cas où il voudrait renvoyer des choses comme des liens de retour/js/css/images avec https://.

Il renvoie l'en-tête suivant

https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Forwarded-Proto

Votre application doit être assez intelligente pour dire que le schéma est https OU que cet en-tête est défini de sorte que c'est ssl si ce n'est pas http.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X