Tomcat SSL設定

Tomcat 昇級到Tomcat 10 後,Server.xml 中,原本的Connector SSL設定格式異動,已不相容舊設定。

 

總是從沒想到的地方開始,驚覺使用中的 Tomcat 昇級到 Tomcat 10後,並未正常的 Listen Port 443,檢查設定跟前版都相同。

檢查後發現Tomcat 10在Server.xml 的 Connector 設定上已不相容舊格式,不能直接照貼。

測試後修改設定如下,指出幾個測試時曾卡到的地方:

  1. <Connector />不指定@defaultSSLHostConfigName,<SSLHostConfig />中也不指定@hostname,兩者看起來有對應關係。
  2. <SSLHostConfig />不設定@certificateVerification。若有設定,連線時會要求Client提出連線用的憑證,這不是我需要的。

憑證使用PFX檔,Server.x設定結果如下(應該蠻普通的用法):

<!-- Tomcat 10 格式 -->
<Connector port="443" protocol="org.apache.coyote.http11.Http11Nio2Protocol" 
maxThreads="150" SSLEnabled="true" scheme="https" secure="true" 
clientAuth="false" >
 <UpgradeProtocol className="org.apache.coyote.http2.Http2Protocol" />
 <SSLHostConfig protocols="TLSv1.2" 
   ciphers="TLS_DHE_RSA_WITH_AES_256_GCM_SHA384, 
    TLS_DHE_RSA_WITH_AES_128_GCM_SHA256, 
    TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384, 
    TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,  
    TLS_EMPTY_RENEGOTIATION_INFO_SCSVF">
  <Certificate certificateKeystoreFile="D:\PFX\myPFX.pfx" 
  certificateKeystorePassword="myPFXPassword" 
  certificateKeyStoreType="pkcs12" type="RSA" />
 </SSLHostConfig>
</Connector>