在Tomcat 7中使用多个SSL证书

| 我一直在Apache Tomcat 7中使用通配符SSL证书。但是,现在我必须进行续订,我发现有这些EV(扩展验证)SSL证书在浏览器上显示出漂亮的绿色横线,因此用户感觉更好。那对我的网站来说很重要,所以我想要它!但是我有多个子域,显然EV SSL证书本质上不是通配符。好的,我有一定数量的子域,我可以为每个子域购买一堆(我肯定至少需要2个)EV SSL证书。 我可以在Tomcat 7中进行设置,以便在一个Web应用程序上有多个SSL证书吗?为这台机器分配多个IP地址对我来说不是问题。     
已邀请:
        如果没有Java(6)不支持的服务器名称指示(SNI),则每个IP地址需要一个证书。 您可以使用address属性将Tomcat配置为使用具有不同IP地址和证书的多个连接器。 例如:
<Connector 
       port=\"8443\" maxThreads=\"200\" address=\"10.0.0.1\"
       scheme=\"https\" secure=\"true\" SSLEnabled=\"true\"
       keystoreFile=\"keystore1.jks\" keystorePass=\"...\"
       clientAuth=\"false\" sslProtocol=\"TLS\"/>
<Connector 
       port=\"8443\" maxThreads=\"200\" address=\"10.0.0.2\"
       scheme=\"https\" secure=\"true\" SSLEnabled=\"true\"
       keystoreFile=\"keystore2.jks\" keystorePass=\"...\"
       clientAuth=\"false\" sslProtocol=\"TLS\"/>
如果需要,您也可以使用相同的密钥库,并使用
keyAlias
属性(在
Connector
中)告诉连接器要使用哪个密钥/证书(基于密钥库中的别名)。     
        我不确定,这里的“ SNI”是否真的有用。 但是在您的情况下,典型的解决方案就是所谓的ssloffloading或ssl Termination: 即将您的tomcat放在一个Apache后面,该Apache配置为在同一个IP上使用多个虚拟主机/域名。您可以将apache中的每个虚拟主机配置为使用其自己的SSL证书。 这里有关于此主题的分步指南: http://milestonenext.blogspot.de/2012/09/ssl-offloading-with-modjk-part-1.html     
        我刚刚将其用于具有多个SSL和IP的服务器上。 通过以下方式添加IP \: http://www.loadtestingtool.com/help/how-setup-ip.shtml 添加了代码,以使服务器使用\“ ciphers \”(当使用2048位密钥时)最大限度地利用安全性。 首先测试,它将以这种方式与自签名密钥一起使用: http://community.jboss.org/wiki/GeneratingSelfSignedCertificateWithKeytool 请注意,此页面中的测试在\“-keystore \”文本的开头(在多个位置)有错误的字符。 这是代码:
<Connector protocol=\"org.apache.coyote.http11.Http11Protocol\" address=\"###.###.###.##1\" port=\"443\" minSpareThreads=\"5\"
    enableLookups=\"true\" acceptCount=\"100\" maxThreads=\"200\"
    scheme=\"https\" secure=\"true\" SSLEnabled=\"true\" keystoreFile=\"key1.key\"
    keystorePass=\"password1\" clientAuth=\"false\" sslProtocol=\"TLS\"
    ciphers=\"SSL_RSA_WITH_RC4_128_MD5, SSL_RSA_WITH_RC4_128_SHA, TLS_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_DSS_WITH_AES_128_CBC_SHA, SSL_RSA_WITH_3DES_EDE_CBC_SHA, SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA, SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA\"/>

<Connector protocol=\"org.apache.coyote.http11.Http11Protocol\" address=\"###.###.###.##2\" port=\"443\" minSpareThreads=\"5\"
    enableLookups=\"true\" acceptCount=\"100\" maxThreads=\"200\"
    scheme=\"https\" secure=\"true\" SSLEnabled=\"true\" keystoreFile=\"key2.key\"
    keystorePass=\"password2\" clientAuth=\"false\" sslProtocol=\"TLS\"
    ciphers=\"SSL_RSA_WITH_RC4_128_MD5, SSL_RSA_WITH_RC4_128_SHA, TLS_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_DSS_WITH_AES_128_CBC_SHA, SSL_RSA_WITH_3DES_EDE_CBC_SHA, SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA, SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA\"/>
    
        您可以简化生活,获得EV SAN(也称为UCC),并将每个域添加为主题备用名称字段中的条目。而且,如果要使用多个IP地址,只需导出证书,然后将其重新导入到每个IP地址即可(如果您正在运行Windows,http://www.ssltools.com/manager非常适合此操作)。 EV SAN证书的一个很好的例子是在https://www.ssl.com上找到的证书,只需对其进行检查即可。     

要回复问题请先登录注册