自簽名的方式部署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服務器,重新運行項目。