要讓tomcat使用ssl必須先配置它的https,配置方法如下:
1、製作密鑰
進入到cmd後輸入
- keytool -genkey -alias tomcat -keystore mykeystore -keyalg RSA -validity 2000
根據提示輸入密碼:changeit,
您的名字與姓氏是什嗎?(這裡一定要輸入欄位名,本機測試輸入localhost)
剩下的問題隨便輸入即可。
這是會在C:\Documents and Settings\Administrator目錄下面產生一個mykeystore檔案,繼續輸入
- keytool -export -alias tomcat -keystore mykeystore -file server.crt
密碼也是輸入changeit,操作成功的話會在目錄下面產生一個server.crt的檔案,接著執行
- keytool -import -alias tomcat -file server.crt -keystore %JAVA_HOME%/jre/lib/security/cacerts
密碼輸入完成後,確認正確即完成了密鑰的建立。
2、配置tomcat
開啟tomcat安裝目錄下的conf/server.xml,添加如下代碼
- <Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol" SSLEnabled="true"
- maxThreads="150" scheme="https" secure="true"
- clientAuth="false" sslProtocol="TLS"
- keystoreFile="d:/mykeystore "
- keystorePass="changeit"/>
代碼中的keystoreFile可以寫成絕對路徑,關於代碼中的protocol要注意一下,不同版本的tomcat配置是不一樣的,具體說明一下:
tomcat 4.1.34的配置
- <Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
- port="8443" enableLookups="true" scheme="https" secure="true"
- acceptCount="100"
- useURIValidationHack="false" disableUploadTimeout="true"
- clientAuth="false" sslProtocol="TLS"
- keystoreFile="server.keystore"
- keystorePass="changeit"/>
tomcat 5.5.9的配置
- <Connector port="8443" maxHttpHeaderSize="8192"
- maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
- enableLookups="false" disableUploadTimeout="true"
- acceptCount="100" scheme="https" secure="true"
- clientAuth="false" sslProtocol="TLS"
- keystoreFile="server.keystore"
- keystorePass="changeit"/>
tomcat 5.5.20/5.5.34配置
- <Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol" SSLEnabled="true"
- maxThreads="150" scheme="https" secure="true"
- clientAuth="false" sslProtocol="TLS"
- keystoreFile="d:/mykeystore "
- keystorePass="changeit"/>
tomcat 6.0的配置
- <Connector protocol="org.apache.coyote.http11.Http11NioProtocol"
- port="8443" minSpareThreads="5" maxSpareThreads="75"
- enableLookups="true" disableUploadTimeout="true"
- acceptCount="100" maxThreads="200"
- scheme="https" secure="true" SSLEnabled="true"
- clientAuth="false" sslProtocol="TLS"
- keystoreFile="D:/tools/apache-tomcat-6.0.10/server.keystore"
- keystorePass="changeit"/>
對於tomcat5.5.20、tomcat5.5.34版本而言如果沒有
- protocol="org.apache.coyote.http11.Http11Protocol"
或者寫成
- protocol="HTTP/1.1 "
將會出現以下錯誤
650) this.width=650;" border="0" alt="" src="http://www.bkjia.com/uploads/allimg/131228/1403303233-0.jpg" />
好了現在tomcat的https就配置好了去試試吧,輸入
https://localhost:8443/
如果能成功訪問說明配置成功,cas伺服器及用戶端的配置見下文。
本文出自 “喬磊的部落格 學習 進步” 部落格,請務必保留此出處http://sucre.blog.51cto.com/1084905/683560