SSl配置之Tomcat

SSL的作用

SSL協議提供的服務主要有:

1.認證用戶和服務器,確保數據發送到正確的客戶機和服務器;

2.加密數據以防止數據中途被竊取;

3.維護數據的完整性,確保數據在傳輸過程中不被改變。

SSl配置

以前的ssl都是通過寶塔一鍵進行創建的,但是前提是你需要實名,實名的時候就比較坑了,需要對着網站拍照,每仔細看,審覈了好幾次都不通過,後來才注意到這一變態的地方,也是,通過一鍵部署的你不知道是怎麼回事,於是小編就去了解了一下。

ssl基本上是每個網站必備的,下面就來具體看一下怎麼配置

其實每個版本是不一樣的,在配置之前你要看清楚你是哪一個版本的,tomcat8.5和tomcat9的配置是一樣的,

下面就以CentOS系統下Tomcat 8.59部署SSL證書的操作說明

前提條件:已購買centos服務器,並且購買域名,且域名已經過了管局的審覈

操作步驟

    1.申請並且解壓Tomcat證書

申請通過還是挺快的,也就幾分鐘的時間吧   

2.在Tomcat安裝目錄下新建cert目錄,將下載的證書和密碼文件拷貝到cert目錄下。

   3.打開Tomcat/conf/server.xml,在server.xml文件中找到以下參數並進行修改

         

<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

 #找到以上參數,去掉<!- - 和 - ->這對註釋符並修改爲如下參數,對HTTPS默認端口進行配置:
 <Connector port="80" protocol="HTTP/1.1"   #將Connector port修改爲80。
               connectionTimeout="20000"
               redirectPort="443" />    #將redirectPort修改爲SSL默認端口443,讓HTTPS請求轉發到443端口。

    <Connector port="8443"
          protocol="org.apache.coyote.http11.Http11NioProtocol"
          maxThreads="150"
          SSLEnabled="true">
        <SSLHostConfig>
            <Certificate       certificateKeystoreFile="cert/keystore.pfx"
             certificateKeystorePassword="XXXXXXX"
                         certificateKeystoreType="PKCS12" />

    #找到以上參數,去掉<!- - 和 - ->這對註釋符並修改爲如下參數:
    <Connector port="443"   #將Tomcat中默認的HTTPS端口Connector port 8443修改爲443。8443端口不可通過域名直接訪問、需要在域名後加上端口號;443端口是HTTPS的默認端口,可通過域名直接訪問,無需在域名後加端口號。
          protocol="org.apache.coyote.http11.Http11NioProtocol"   #server.xml文件中Connector port有兩種運行模式(NIO和APR),請選擇NIO模式(也就是protocol="org.apache.coyote.http11.Http11NioProtocol")這一段進行配置。
          maxThreads="150"
          SSLEnabled="true">
        <SSLHostConfig>
            <Certificate       certificateKeystoreFile="/usr/local/tomcat/cert/證書域名.pfx"   #此處certificateKeystoreFile代表證書文件的路徑,請用您證書的路徑+文件名替換證書域名.pfx,例如:certificateKeystoreFile="/usr/local/tomcat/cert/abc.com.pfx"
             certificateKeystorePassword="證書密碼"   #此處certificateKeystorePassword爲SSL證書的密碼,請用您證書密碼文件pfx-password.txt中的密碼替換,例如:certificateKeystorePassword="bMNML1Df"
             certificateKeystoreType="PKCS12" />   #證書類型爲PFX格式時,certificateKeystoreType修改爲PKCS12。
        </SSLHostConfig>
    </Connector>
		
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

#找到以上參數,去掉<!- - 和 - ->這對註釋符並修改爲如下參數:
<Connector port="8009" protocol="AJP/1.3" redirectPort="443" />  #將redirectPort修改爲443,讓HTTPS請求轉發到443端口

4.保存server.xml文件配置。

5.在web.xml文件最底部添加以下內容,實現HTTP自動跳轉爲HTTPS。

<security-constraint> 
         <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>

6.重啓Tomcat服務

./shutdown.sh

./startup.sh

7.遊覽器訪問自己的網站,發現地址邊上多了一把鎖,並且地址從http變成了https

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章