在tomcat中使用https協議(配置SSL協議),主要是以下步驟:
1.生成安全證書 --略
2.配置tomcat:
定位到tomcat的安裝目錄,找到conf下的server.xml文件
找到如下已經被注釋的代碼:
- <!--
- <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
- maxThreads="150" scheme="https" secure="true"
- clientAuth="false" sslProtocol="TLS" />
- -->
去掉注釋,修改為:
- <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="tomcat"/>
這里,密碼和證書的位置根據個人的具體環境而設置,屬性參數如下所述:
屬性 | 描述 |
clientAuth | 如果設為true,表示Tomcat要求所有的SSL客戶出示安全證書,對SSL客戶進行身份驗證 |
keystoreFile | 指定keystore文件的存放位置,可以指定絕對路徑,也可以指定相對於<CATALINA_HOME>(Tomcat安裝目錄)環境變量 的相對路徑。如果此項沒有設定,默認情況下,Tomcat將從當前操作系統用戶的用戶目錄下讀取名為“.keystore”的文件。 |
keystorePass | 指定keystore的密碼,如果此項沒有設定,在默認情況下,Tomcat將使用“changeit”作為默認密碼。 |
sslProtocol | 指定套接字(Socket)使用的加密/解密協議,默認值為TLS,用戶不應該修改這個默認值。 |
ciphers | 指定套接字可用的用於加密的密碼清單,多個密碼間以逗號(,)分隔。如果此項沒有設定,在默認情況下,套接字可以使用任意一個可用的密碼。 |
訪問支持ssl的web站點:
訪問支持ssl的web站點:
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該節點屬性。