自签名的方式部署https服务器:
1.将项目部署到linux环境下的tomcat服务器上(具体见linux环境下部署tomcat项目);
2.使用putty工具连接服务器,进入JDK的bin目录下,cd $JAVA_HOME/bin;
3.在bin目录下使用keytool工具生成证书,keytool -genkey -alias tomcat -keyalg RSA -keystore /usr/local/wapserver/tomcat/tomcat.keystore -validity 36500
“/usr/local/wapserver/tomcat/tomcat.keystore”含义是将证书文件保存在此地址下,证书文件名称是tomcat.keystore ;“-validity 36500”含义是证书有效期,36500表示100年,默认值是90天
生成完成后查看存放地址是否生成了证书。
4.将tomcat.keystore文件引入tomcat配置文件server.xml中,并放开对应的https参数,对http访问做映射。
4.1:将http访问映射到443端口,转换为https访问
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="443" />
4.2:打开https访问端口,配置证书文件,配置证书密码(默认配置https访问端口为443,将所有的8443更改为默认的443端口)
<Connector port="443" protocol="org.apache.coyote.http11.Http11Protocol"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" keystoreFile="/usr/local/wapserver/tomcat/tomcat.keystore"
keystorePass="123456" />
5.在tomcat配置文件web.xml中末尾加上以下代码,实现全局强制https访问
http://blog.csdn.net/lisheng19870305/article/details/40819481:
<!-- 配置认证类型 -->
<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>
<!-- 配置完成 -->
<!-- 注:局部强制转换为:
<security-constraint>
<web-resource-collection>
<web-resource-name>SSL</web-resource-name>
<url-pattern>/api/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
-->
6.重启tomcat服务器,重新运行项目。