配置Tomcat使用https協議


一.  創建tomcat證書

這里使用JDK自帶的keytool工具來生成證書

1. 在jdk的安裝目錄\bin\keytool.exe下打開keytool.exe

2. 在命令行中輸入以下命令:

keytool -genkeypair -alias "tomcat" -keyalg "RSA" -keystore "f:\tomcat.keystore"

 

二. 配置tomcat服務器

定位到tomcat服務器的安裝目錄, 找到conf下的server.xml文件

找到如下已經被注釋的代碼:

 

去掉注釋,修改為:

    <Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol"
               maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
               clientAuth="false" sslProtocol="TLS" 
               keystoreFile="F:\Keystore\tomcat.keystore"  
               keystorePass="123456"/>

這里,密碼和證書的位置根據個人的具體環境而設置,屬性參數如下所述:

屬性 描述
clientAuth 如果設為true,表示Tomcat要求所有的SSL客戶出示安全證書,對SSL客戶進行身份驗證
keystoreFile 指定keystore文件的存放位置,可以指定絕對路徑,也可以指定相對於<CATALINA_HOME>(Tomcat安裝目錄)環境變量 的相對路徑。如果此項沒有設定,默認情況下,Tomcat將從當前操作系統用戶的用戶目錄下讀取名為“.keystore”的文件。
keystorePass 指定keystore的密碼,如果此項沒有設定,在默認情況下,Tomcat將使用“changeit”作為默認密碼。
sslProtocol 指定套接字(Socket)使用的加密/解密協議,默認值為TLS,用戶不應該修改這個默認值。
ciphers 指定套接字可用的用於加密的密碼清單,多個密碼間以逗號(,)分隔。如果此項沒有設定,在默認情況下,套接字可以使用任意一個可用的密碼。

訪問支持ssl的web站點:

啟動本場tomcat,在瀏覽器中輸入:https://localhost:8443/

注:

訪問支持ssl的web站點:

發現ssl不工作,出現如下信息:

ERR_SSL_VERSION_OR_CIPHER_MISMATCH

解決方案是修改servlet.xml的文件:

<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"  
      maxThreads="150" scheme="https" secure="true"  
      clientAuth="false" sslProtocol="TLS"   
       keystoreFile="D:\Tools\Web\ssl\tomcat.keystore"  
       keystorePass="tomcat"  
       ciphers="TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, 
                TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,
                TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,
                TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,
                TLS_ECDHE_RSA_WITH_RC4_128_SHA,
                TLS_RSA_WITH_AES_128_CBC_SHA256,
                TLS_RSA_WITH_AES_128_CBC_SHA,
                TLS_RSA_WITH_AES_256_CBC_SHA256,
                TLS_RSA_WITH_AES_256_CBC_SHA,
                SSL_RSA_WITH_RC4_128_SHA"/>
    

或者不要使用ciphers該節點屬性


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM