要让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 "
将会出现以下错误
好了现在tomcat的https就配置好了去试试吧,输入
https://localhost:8443/
如果能成功访问说明配置成功,cas服务器及客户端的配置见下文。
本文出自 “乔磊的博客 学习 进步” 博客,请务必保留此出处http://sucre.blog.51cto.com/1084905/683560