我可以在tomcat的server.xml中为同一地址设置两个连接器标签吗?

时间:2014-10-09 13:11:37

标签: java tomcat tomcat6 keystore

我有两个相同IP地址的DNS条目。我每个都有两个ssl密钥库。 我可以在server.xml中提到两个密钥库,如下所示吗?

<Connector address="my_IP_Addres" port="443" protocol="HTTP/1.1" SSLEnabled="true"
                         maxThreads="150" scheme="https" secure="true"
                           enableLookups="true" disableUploadTimeout="true"
                           keystoreFile="1st_keystore_file" keystorePass="1st_key_pass"
                           clientAuth="false" sslProtocol="SSL" />

<Connector address="my_IP_Addres" port="443" protocol="HTTP/1.1" SSLEnabled="true"
                         maxThreads="150" scheme="https" secure="true"
                           enableLookups="true" disableUploadTimeout="true"
                           keystoreFile="2nd_keystore_file" keystorePass="2nd_key_pass"
                           clientAuth="false" sslProtocol="SSL" />  

1 个答案:

答案 0 :(得分:0)

不,您不能将多个连接器用于Tomcat的单个端点。 HTTPS是基于SSL的HTTP。这意味着

  1. 客户端和服务器建立SSL连接,在握手过程中仅使用IP:端口对
  2. 客户端和服务器通过已建立的SSL连接交换HTTP消息
  3. 您的案例中的DNS条目(主机 - > IP)允许客户端在 SSL握手之前解析服务器IP 。但在握手期间,主机名不会被使用。这就是服务器无法解析在此阶段使用哪个密钥/证书对的原因。这就是原因,为什么可以提供唯一的密钥/证书对。

    有关详细信息,请参阅HTTPS limitations