Tomcat7配置https的坑【版本過低,升到7.0.92以上】

版權聲明:本文爲博主原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處連接和本聲明。

這裏使用的是阿里雲的證書apache

登陸阿里雲控制檯https://account.aliyun.com/login/login.htm?spm=5176.8097504.1280361.7.2ec76fb5ZKtg5v&qrCodeFirst=false&oauth_callback=https%3A%2F%2Fwww.aliyun.com%2Fnotfound%2Ftomcat

這裏用中國人都有的淘寶帳號就能夠登陸。登進去以後主頁搜索一下SSL證書,選擇購買網站

證書類型選擇 免費型DV SSL,而後完成購買阿里雲

購買成功後進入ssl控制檯能夠看到本身購買的服務,點選申請spa

這裏填入本身信息,建議選擇文件驗證,只須要把驗證文件下載到本地部署到網站根目錄就能夠完成驗證,使用DNS驗證可能會有些問題。另外若是想本身設置密碼能夠選擇手工填寫CSR。確認沒有問題以後等待幾分鐘就能夠經過審覈。.net

選擇下載Tomcat對應的文件,爲一個壓縮包,裏面只有兩個文件(包含PFX格式證書文件和TXT格式密碼文件),而不像網上有些說的是四個文件,可能也是在更名雲盾以後有所更新(2019.5)code

接着就是配置了server

操做步驟

  1. 解壓Tomcat證書。

    說明 每次下載證書都會產生新的密碼,該密碼僅匹配本次下載的證書。若是須要更新證書文件,同時也要更新匹配的密碼。xml

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

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

  4. <Connector port="8080" protocol="HTTP/1.1"
                   connectionTimeout="20000"
                   redirectPort="8443" />
        
     #找到以上參數,去掉<!- - 和 - ->這對註釋符並修改成以下參數:
     <Connector port="80" protocol="HTTP/1.1"
     #將Connector port修改成80。
                   connectionTimeout="20000"
                   redirectPort="443" />   
                   #將redirectPort修改成SSL默認端口443,讓HTTP訪問自動跳轉爲HTTPS訪問。
     
     
        <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="conf/cert/證書域名.pfx"
                 #此處certificateKeystoreFile表明證書文件的路徑,請用您證書的路徑+文件名替換證書域名.pfx,例如:certificateKeystoreFile="conf/cert/abc.com.pfx"
                 certificateKeystorePassword="證書密碼"
                 #此處certificateKeystorePassword爲SSL證書的密碼,請用您證書密碼文件pfx-password.txt中的密碼替換,例如:certificateKeystorePassword="bMNML1Df"
                 certificateKeystoreType="PKCS12" />
                 #證書類型爲PFX格式時,certificateKeystoreType修改成PKCS12。

     

重啓Tomcat基本就能夠了

其實這個問題很簡單,之因此踩坑彷佛是由於個人tomcat7版本號過低(7.0.82)用各類方法配置後都沒有什麼任何反應,升級到7.0.92就能夠,順手防了把漏洞

相關文章
相關標籤/搜索