0

Ich habe eine skalierbare Anwendung auf elastischen Bohnenstange läuft auf Tomcat. Ich habe gelesen, dass es vor Tomcat einen Apache-Server für Reverse-Proxy gibt. Ich denke, ich muss das Client-Zertifikat auf Apache installieren und es so konfigurieren, dass es nur Anfragen annimmt, die durch dieses Zertifikat verschlüsselt sind, aber ich habe keine Ahnung, wie das geht.Wie installiere ich das API-Gateway-Client-Zertifikat in Elastic-Bohnenstange

Können Sie mir helfen?

+0

EBS = Elastic Block Store –

+0

Sorry, elastische Bohnenstange – aGO

Antwort

3

Nach vielen Recherchen fand ich eine Lösung. Entsprechend der Schwierigkeit, es zu entdecken, möchte ich mit Ihnen meine Erfahrung teilen.

Meine Plattform auf elastischen Bohnenstange ist Tomcat 8 mit Load Balancer.

Um das Client-Zertifikat (im Moment ich schrieb) verwenden Sie die https auf Instanz

http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/https-singleinstance.html

dann

http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/https-singleinstance-tomcat.html

Ich habe diese Konfiguration zu verwenden, zu beenden haben sowohl Client- als auch Server-Zertifikate (scheint, dass es nicht nur mit Client-Zertifikat funktioniert)

SSLEngine    on 
    SSLCertificateFile "/etc/pki/tls/certs/server.crt" 
    SSLCertificateKeyFile "/etc/pki/tls/certs/server.key" 
    SSLCertificateChainFile "/etc/pki/tls/certs/GandiStandardSSLCA2.pem" 
    SSLCipherSuite  EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH 
    SSLProtocol   All -SSLv2 -SSLv3 
    SSLHonorCipherOrder On 
    SSLVerifyClient  require 
    SSLVerifyDepth  1 
    SSLCACertificateFile "/etc/pki/tls/certs/client.crt" 

Und letzte Sache: api Gateway funktioniert nicht mit selbst signierten Zertifikat (Dank Client certificates with AWS API Gateway), so müssen Sie eine von einem CA kaufen.

Hier sollten Sie das vom API-Gateway bereitgestellte clientseitige Zertifikat angeben.

+1

Ich habe ähnliches Problem: Ich möchte den Zugriff auf meine EB beschränken, dass nur API Gateway damit sprechen kann. Ich benutze NGINX und Multidocker Konfiguration auf EB. Welche server.crt und server.key hast du benutzt? Wie Sie im letzten Satz erwähnt haben, haben Sie ein SSL-Zertifikat von einem vertrauenswürdigen externen Anbieter (wie GoDaddy) gekauft. habe ich recht? – nicq

+0

Ja ich kaufte es von strarfield – aGO

+0

@eGO In Ihrem EB, hinter ELB, laufen Sie viele Instanzen, habe ich Recht? – nicq

1

Möglicherweise müssen Sie den Listener des ELB für Vanilla TCP auf demselben Port anstelle von HTTPS konfigurieren. Da TCP im Grunde an Ihrem ELB übergeben wird, muss Ihre Instanz SSL verarbeiten, um die Anforderungen zu autorisieren, die ein gültiges Clientzertifikat bereitgestellt haben.

+0

Was bedeutet Vanille TCP? – aGO