[FIXED] So verbinden Sie Amazon Cloudfront mit Elastic Beanstalk Single Instance, um das HTTPS-Zertifikat zu verwenden

Ausgabe

Alle Tutorials, die ich gelesen habe, beziehen sich auf einen Elastic Beanstalk Load Balancer, den ich nicht mit einer einzelnen Instance verwende.

Ich kann auf meine über Elastic Beanstalk bereitgestellte App zugreifen, indem ich entweder die Umgebungs-URL verwende oder einfach meinen Route 53 Type A-Eintrag entweder an die Elastic Beanstalk-Umgebung oder die öffentliche ec2-Domäne umleite.

Ich möchte, dass meine Webanwendung HTTPS verwendet, also habe ich ein SSL-Zertifikat über ACM erstellt und versucht, das Zertifikat auf meiner Webanwendung über CloudFront bereitzustellen. Ich habe eine CloudFront-Verteilungsdomäne erstellt, aber hier stecke ich fest: Ich kann meine Elastic Beanstalk-Umgebung nicht als Ursprungsdomäne verwenden, sondern nur als S3-Bucket.

Wie bringe ich CloudFront dazu, mit Elastic Beanstalk/EC2 zu kommunizieren?

Der direkte Zugriff auf S3 ist keine Option, ich erhalte nicht nur 403-Fehler, sondern mein Projekt ist eine Angular App und .NET WebApi, die bereitgestellt und ausgeführt werden muss, und nicht einfach von einem S3-Ordner aus darauf zugegriffen werden muss. Ich kann CloudFront auch nicht umgehen und das Zertifikat in mein Projekt einfügen, da Sie keine ACM-Zertifikate herunterladen können.

Lösung

es sollte mit ElasticBeanstalk in HTTPS kommunizieren, richtig?

So funktioniert es leider nicht. Um HTTPS zwischen CF und EB zu haben, müssen Sie ein gültiges , öffentliches SSL-Zertifikat auf Ihrer EB-Instanz haben. Sie können keine selbstsignierten Zertifikate verwenden, und EB gibt Ihnen standardmäßig kein SSL. Wenn Sie ALB nicht auf EB haben, müssen Sie ein SSL-Zertifikat von einem Drittanbieter (nicht ACM) wie LetsEncrypt erhalten und in der Instanz bereitstellen. Sie müssen auch über eine eigene Domain verfügen, damit dies funktioniert.

Nur wenn das Obige erfüllt ist, haben Sie HTTPS auf dem gesamten Pfad:

Client --- (https) --> CF ---- (https) ----> EB

Andernfalls können Sie nur haben:

Client --- (https) --> CF ---- (http) ----> EB

Dies ist ein Sicherheitsrisiko, wenn Sie http (Klartext) über das Internet verwenden.


Beantwortet von –
Marcin


Antwort geprüft von –
Mary Flores (FixError Volunteer)

0 Shares:
Leave a Reply

Your email address will not be published. Required fields are marked *

You May Also Like