因为IOS HTTP请求过期,故增加https安全请求,配置方法我详细的介绍如下:
第一步:生成数字证书
以命令行方式切换到目录%TOMCAT_HOME%,在command命令行输入如下命令(jdk1.4以上带的工具):
keytool -genkey -alias tomcat -keyalg RSA-keypass changeit -storepass changeit -keystore d:/server.keystore -validity3600
跟着提示输入 最后输入Y/N(y确认,N返回重新输入),确定后会在d:/下生成server.keystore 文件(可以将它放置到其他位置,同时第二步中的keystoreFile 参数也需要跟着修改)。
注:参数 -validity 指证书的有效期(天),缺省有效期很短,只有90天。
第二步:配置HTTPS 访问端口,以及指定证书。
修改 %TOMCAT_HOME%\conf\server.xml
这里需要注意是:tomcat 6.0.19以前版本为protocol='HTTP/1.1',后面版本为 protocol="org.apache.coyote.http11.Http11Protocol"
<Connector port="8981"protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150"scheme="https" secure="true"
clientAuth="false"sslProtocol="TLS"
keystoreFile="D:\server.keystore"
keystorePass="changeit"
ciphers="changeit"
/>
最后重启即可。
第三步: HTTP 自动访问 HTTPS
server.xml 这是以前的 HTTP 方式访问的配置,注意红色文字处。意思是自动跳转到端口8981,也就是上第二步中,配置HTTPS 访问方式的端口
<Connector port="8980"URIEncoding="UTF-8" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8981"/>
同时修改 web.xml,在<welcome-file-list> 节点前 增加如下节点
<security-constraint>
<web-resource-collection>
<web-resource-name>EntireApplication</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
经过本人测试可用,后面需要修改下方法
1. 若出现SSL收到一个弱临时Diffie-Hellman连接失败解决方法。
2.修改后出现安全列外,则添加意外,下次访问则不会出现。