0

У меня есть масштабируемое приложение на эластичном бобовом стебле, работающем на Tomcat. Я прочитал, что перед Tomcat есть сервер Apache для обратного прокси. Наверное, мне нужно установить на apache сертификат клиента и настроить его для принятия только запроса, зашифрованного этим сертификатом, но я понятия не имею, как это сделать.Как установить сертификат клиента шлюза api в эластичный beanstalk

Вы можете мне помочь?

+0

EBS = Эластичный блок-магазин –

+0

Извините, эластичный бобовый станок – aGO

ответ

3

После многих исследований я нашел решение. В соответствии с трудностями, чтобы обнаружить это, я хочу поделиться с вами своим опытом.

Моя платформа на эластичном бобовом стебле - это Tomcat 8 с балансиром нагрузки.

Для использования сертификата клиента (на данный момент я писал), вы должны прекратить протокол HTTPS на экземпляре

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

затем

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

Я использовал эту конфигурацию, чтобы использовать как клиентские, так и серверные сертификаты (кажется, что он не работает только с сертификатом клиента)

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" 

И последнее: api gateway не работает с самоподписанным сертификатом (спасибо Client certificates with AWS API Gateway), поэтому вам нужно купить его у CA.

SSLCACertificateFile "/etc/pki/tls/certs/client.crt" 

Здесь вы должны указать сертификат шлюза API, предоставленный на стороне клиента.

+1

У меня есть аналогичная проблема: я хочу ограничить доступ к моей EB, с которой может разговаривать только API Gateway. Я использую NGINX и конфигурацию мультидокера на EB. Какие серверы и серверы вы использовали? Как вы упомянули в последнем предложении, вы приобрели сертификат SSL у доверенного внешнего поставщика (например, GoDaddy). я прав? – nicq

+0

Да, я купил его у strarfield – aGO

+0

@eGO В вашем EB, за ELB, вы запускаете много экземпляров, верно? – nicq

1

Возможно, вам придется настроить прослушиватель ELB для ванильного TCP на одном и том же порту вместо HTTPS. В основном TCP проходит через ваш ELB, ваш экземпляр должен обрабатывать SSL, чтобы разрешить запросы, которые предоставили действительный сертификат клиента.

+0

Что означает ваниль TCP? – aGO