java容器中部署SSL证书
1. 把jks上传到java容器在的服务器上(路径只要不是webapps下就可以)
2. 然后到conf目录下server.xml里配置
<Connector port="443" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150"
scheme="https" secure="true" keystoreFile="conf\server.jks" keystorePass="123456"
clientAuth="false" sslProtocol="TLS" />
这个connector元素默认被注释掉的,打开注释后添加一些属性,如:keystoreFile指向刚才的jks文件
keystorePass值为jks密码,就是刚才第二步里设置的密码。
Port是端口
SSLEnable是开启ssl的意思。
保存修改后重启容器即可。
3. Java容器中的http自动跳转https的安全配置。
到conf目录下的web.xml。在</welcome-file-list>后面,</web-app>,也就是倒数第二段里,加上这样一段
<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>
这步目的是让非ssl的connector跳转到ssl的connector去。所以还要配置一步。
4. 到server.xml去修改<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="443" />
redirectPort改成ssl的connector的端口443
5. 重启后便会生效。