第一步:为服务器生成证书
使用jdk工具keytool为tomcat生成证书。
打开windows终端cmd,cd命令进入jdk(1.4以上)bin目录下
keytool -genkey -v -alias tomcat -keyalg RSA -keystore D:/my.keystore -dname "CN=192.168.5.30,OU=crea,O=crea,L=hangzhou,ST=zhejiang,C=CN" -validity 3650 -storepass 123456 -keypass 123456
-keystore为证书生成的地址名字和后缀皆可自定义
-dname中的CN为服务器端访问域名,若设置错误则浏览器会弹出警告窗口,提示用户证书与所在域不匹配。
-validity为证书有效天数。
第二步:Tomcat6.0下配置证书
打开$CATALINA_HOME/conf/server.xml
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
修改为
<Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="443" />
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS"/>
修改为
<Connector port="443" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" keystoreFile="D:/my.keystore" keystorePass="123456"/>
<Connector port="8009" enableLookups="false" protocol="AJP/1.3" redirectPort="8443" />
修改为
<Connector port="8009" enableLookups="false" protocol="AJP/1.3" redirectPort="443" />
打开$CATALINA_HOME/conf/web.xml,在该文件末尾增加
<security-constraint> <web-resource-collection> <web-resource-name>SSL</web-resource-name> <url-pattern>/*</url-pattern> </web-resource-collection> <user-data-constraint> <transport-guarantee>CONFIDENTIAL</transport-guarantee> </user-data-constraint> </security-constraint>