目录
1 准备证书文件
使用JDK keytool工具执行如下命令:
D:\Program Files\Java\jdk1.5.0_22\bin>keytool -genkey -alias tomcat -keyalg RSA -keystore d:\cest\keystore 输入keystore密码: 您的名字与姓氏是什么? [Unknown]: 您的组织单位名称是什么? [Unknown]: 您的组织名称是什么? [Unknown]: 您所在的城市或区域名称是什么? [Unknown]: 您所在的州或省份名称是什么? [Unknown]: 该单位的两字母国家代码是什么 [Unknown]: cn CN=Unknown, OU=, O=, L=, ST=, C=cn 正确吗? [否]: Y 输入<tomcat>的主密码 (如果和 keystore 密码相同,按回车): D:\Program Files\Java\jdk1.5.0_22\bin>
2 修改Tomcat配置文件
修改$CATALINA_BASE/conf/server.xml文件,取消“SSL HTTP/1.1 Connector”段的注释
<!-- Define a SSL HTTP/1.1 Connector on port 8443 --> <!----> <Connector port="8443" maxHttpHeaderSize="8192" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" disableUploadTimeout="true" acceptCount="100" scheme="https" secure="true" keystoreFile="D:\cest\keystore" keystorePass="******" clientAuth="false" sslProtocol="TLS" />
3 配置HTTP自动跳转HTTPS
修改$CATALINA_BASE/conf/web.xml文件,在文件末尾加上如下配置:
<security-constraint> <!-- Authorization setting for SSL --> <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>
4 测试结果
启动Tomcat,在浏览器上输入http://localhost:8080/,自动跳转到https://localhost:8443/,出现如下:
5 参考文献
http://tomcat.apache.org/tomcat-6.0-doc/ssl-howto.html
http://licg1234.blog.163.com/blog/static/13908233320121165356868/
http://www.tuicool.com/articles/baqQRv
http://www.cnblogs.com/enshrineZither/p/3154420.html