在Tomcat中配置Https安全连接
1.生成keystore
利用 JDK 自带的 keytool 工具完成keystore的生成,运行命令:
[JAVA_HOME]/bin/keytool -genkey -alias tomcat-keyalg?RSA? -keystore [location/fileName]
根据提示输入各项值。最后在location路径下生成名为fileName的KeyStore文件。
2.修改server.xml
在tomcat的conf目录下找到server.xml,在该文件中找到与SSL相关的内容,<!-- Define a SSL HTTP/1.1Connector on port 8443 -->,将“<Connectorport="8443"……”这个标签的注释去掉,并且在加入两个属性:keystoreFile和keystorePass,其中keystoreFile指向上一步生成的KeyStore文件,keytStorePass为上一步中输入的keystore密码。
3.强制Https访问
经过上面两部的设置,Tomcat已经可以支持Https的访问了,但是Http的访问也同样支持。
在tomcat的conf目录下找到web.xml文件,加入如下配置:
?
<login-config> <!-- Authorization setting for SSL --> <auth-method>CLIENT-CERT</auth-method> <realm-name>Client Cert Users-only Area</realm-name> </login-config> <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>?
保存文件,现在再启动Tomcat如果输入的是Http的地址会自动跳转到Https的地址。
1 楼 wxk74 2011-03-23 tomcat是什么版本的啊? 2 楼 redstarofsleep 2011-06-25 wxk74 写道tomcat是什么版本的啊?