Comparez les prix des domaines et des services informatiques des vendeurs du monde entier

Comment allumer SSL Pour application Web et HTTP API, Travailler B. AWS?

Je n'ai pas écrit cette question, parce que je ne suis pas sûr s'il appartient à ServerFault ou StackOverflow.

J'ai une application web React, Placé dans le panier AWS S3 et utilise CloudFront. j'ai REST API, Écrit comme annexe Java Spring Boot, Travailler sur une instance AWS EC2. J'essaie d'allumer SSL À la fois pour protéger votre trafic.

Jusqu'à présent, j'ai utilisé un certificat SSL créé AWS, Pour protéger l'application Web. J'ai essayé d'utiliser le même certificat SSL, créé AWS, Pour protéger l'application Java Spring Boot, Et je suis arrivé à la conclusion que ce certificat est impossible. Toutes les tentatives de faire l'application Java Spring Boot Support SSL Utilisation de ce certificat, vous avez échoué lorsque l'application est lancée.

J'ai expérimenté localement avec des certificats auto-signés qui, après l'alerte du navigateur, travaillent pour une application Web, mais pas pour l'application Java Spring Boot. application Java Spring Boot Il commence normalement et je peux utiliser Postman Pour l'accès à K. API (Après avoir défini Postman Pour ignorer la vérification du certificat). Je crois que la bibliothèque JavaScript, Que j'utilise (Axios) Appeler l'application Java Spring Boot, ne peut pas faire face à un certificat auto-signé, et je ne pouvais pas la configurer pour la réception / Ignorer un certificat auto-signé. En fin de compte, je n'utiliserai pas de certificats auto-signés. C'est donc toujours une impasse.

Mon déploiement d'une application Web affichée sur S3 de HTTP API Sur l'instance EC2, Cela ne semble pas inhabituel. Il? Devrais-je le faire différemment?

Avant d'aller au-delà du trou de lapin avec l'achat de certificats et l'utilisation de services supplémentaires AWS, J'espère que quelqu'un ici peut me donner un petit manuel.
Invité:

Emilie

Confirmation de:

Tout d'abord, je ne crois pas que AWS Frais de charges pour les certificats appliqués à leur infrastructure. Je mettrais l'équilibrant de la charge entre CloudFront et copier EC2 et utiliserait le certificat sur l'équilibreur de charge et utiliserait simplement un trafic non crypté entre l'équilibrage de la charge et l'instance EC2. J'espère que cela résoudra votre problème avec l'application. Vous pouvez utiliser des règles de sécurité pour bloquer une instance uniquement pour l'équilibrage de la charge.

Il existe plusieurs façons de bloquer l'équilibrage de la charge sur CloudFront - une des manières souvent documentées - Cela ajoutez une fonction petite et rarement démarrée. Lambda, Pour limiter l'accès uniquement par adresses IP CloudFront, Comme décrit dans la documentation.
https://aws.amazon.com/blogs/s ... mbda/
.

j'ai aussi CloudFront Ajoute un titre personnalisé avec une chaîne magique comme valeur, et apache sur EC2 Filtre tout trafic sans chaîne magique. Ces deux mesures semblent être pleinement efficaces pour bloquer l'accès à un serveur qui n'est pas nuage et vous pouvez concentrer les mesures supplémentaires. WAF Sur la distribution elle-même CloudFront.

Pour répondre aux questions, connectez-vous ou registre