Tomcat使用Https協議
阿新 • • 發佈:2017-07-02
rect 上線 color class pac 算法 res 配置 文件
背景:
在一個項目上線的過程中,采用了阿裏雲的負載均衡,而不是nginx的負載均衡,所以需要配置tomcat支持https協議
1、生成keystore
1 keytool -genkeypair -alias "tomcat" -keyalg "RSA" -validity 90 -keystore "/root/tomcat.keystore"
"/root/tomcat.keystore" 生成的keystore位置和名稱
-keyalg "RSA" 加密算法
-validity 90 有效天數
2、配置Tomcat(conf文件夾中的server.xml)
1 <Connectorport="443" protocol="org.apache.coyote.http11.Http11Protocol" 2 maxThreads="150" SSLEnabled="true" scheme="https" secure="true" 3 clientAuth="false" sslProtocol="TLS" 4 keystoreFile="/root/tomcat.keystore" 5 keystorePass="tomcat" />
keystorePass為生成keystore時輸入的密碼
啟動tomcat就可以以https訪問了
3、https與http協議轉換(有些頁面需要使用https訪問,有些頁面使用http訪問)
將
1 <Connector port="8080" protocol="HTTP/1.1" 2 connectionTimeout="20000" 3 redirectPort="8009" />
替換為
<Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="443" />
4、頁面強制使用https協議(例如:登錄頁面必須使用https協議)
在項目資源中的web.xml或tomcat/conf/web.xml文件中的</welcome-file-list>後加上: <web-resource-collection > <web-resource-name >SSL</web-resource-name> <url-pattern>/*</url-pattern><!-- 這裏表示所有頁面都必須使用https協議 --> </web-resource-collection> <user-data-constraint> <transport-guarantee>CONFIDENTIAL</transport-guarantee> </user-data-constraint> </security-constraint>
Tomcat使用Https協議