如何将 api 网关客户端证书安装到 Elastic beanstalk

Howto install the api gateway client certificate into Elastic beanstalk

我在 Tomcat 上的 elastic beantalk 运行 上有一个可扩展的应用程序。我读到 Tomcat 前面有一个用于反向代理的 Apache 服务器。我想我必须在 apache 上安装客户端证书并将其配置为只接受由该证书加密的请求,但我不知道该怎么做。

你能帮帮我吗?

您可能必须在同一端口而非 HTTPS 上为 vanilla TCP 配置 ELB 的侦听器。基本上 TCP 通过您的 ELB,您的实例需要处理 SSL 以授权提供有效客户端证书的请求。

经过多次研究,我找到了解决办法。根据它的难易程度,我想和大家分享一下我的经验。

我在 elastic beanstalk 上的平台是 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 网关不适用于自签名证书(感谢 ),因此您必须从 CA 购买一个。

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

这是您应该指向 API 网关提供的客户端证书的地方。