如何将api网关客户端证书安装到弹性豆茎中



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

你能帮我吗?

经过多次研究,我找到了解决方案。根据难发现的原因,我想和大家分享一下我的经验。

我在弹性豆茎上的平台是带负载均衡器的Tomcat8。

要使用客户端证书(在我写这篇文章的时候),你必须终止实例上的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网关不适用于自签名证书(由于AWS api网关的客户端证书),所以你必须从CA购买一个

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

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

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

相关内容

  • 没有找到相关文章

最新更新