1. 程式人生 > >Tomcat使用Https協議

Tomcat使用Https協議

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 <Connector 
port="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協議