Tomcat 伺服器輕鬆部署 SSL 證書

CCiT520發表於2021-06-06

Tomcat 伺服器 SSL 證照安裝部署

1準備伺服器

  • 購買網上各個產家的雲伺服器
  • 或者在自己的電腦上裝虛擬機器
  • 二者皆可,建議選擇第一種,因為操作起來相對方便

2安裝JDK

2.1上傳JDK到Linux的伺服器.

上傳JDK
解除安裝open-JDK
# 檢視jdk版本
java –version
# 檢視安裝的jdk資訊
rpm -qa | grep java
# 解除安裝jdk(若自己的伺服器上沒有可忽略,購買的雲伺服器一般沒有)
rpm -e --nodeps java-1.6.0-openjdk-1.8.0.35-1.13.7.1.el6_6.i686
rpm -e --nodeps java-1.7.0-openjdk-1.8.0.79-2.5.5.4.el6.i686

2.2在Linux伺服器上安裝JDK

通常將軟體安裝到/usr/local
直接解壓就可以
tar –zxvf  jdk目標路徑 

2.3配置JDK的環境變數.

配置環境變數:

① vi /etc/profile

② 在末尾行新增

#配置Java環境變數,注意JAVA_HOME修改成自己的路徑,其他預設即可
JAVA_HOME=/usr/local/jdk/jdk1.8.0_71
CLASSPATH=.:$JAVA_HOME/lib.tools.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH

儲存退出

③source /etc/profile 使更改的配置立即生效

3在Linux上安裝tomcat:

  • Tomcat上傳到linux上

  • 將上傳的tomcat解壓

  • 在tomcat/bin目錄下執行 startup.sh

  • 注意防火牆

4選擇自己下載的SSL證照進行配置

  • 解壓已下載儲存到本地的Tomcat證照檔案

    • 證照檔案XX.jks
    • 密碼檔案XX.txt
  • 將字尾為XX.jks的檔案上傳到tomcat安裝路徑conf資料夾下

  • 配置server.xml

    <Connector port="443"   
        protocol="org.apache.coyote.http11.Http11NioProtocol" 
        SSLEnabled="true"
        scheme="https"
        secure="true"
        keystoreFile="你自己jks檔案的路徑" 
        keystorePass="你下載的密碼,解壓的資料夾裡就有"   
        clientAuth="false"
        SSLProtocol="TLSv1+TLSv1.1+TLSv1.2"
        ciphers="TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA256"/>
    

    注意:Tomcat 9強制要求證照別名設定為tomcat。需要將protocol="HTTP/1.1"轉換成protocol="org.apache.coyote.http11.Http11NioProtocol"

  • 配置web.xml檔案,開啟HTTP強制跳轉HTTPS,在檔案後新增以下內容

    <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>
    
  • 重啟Tomcat

    ./shutdown.sh
    ./startup.sh
    
  • 至此,就大功告成了!!!可以通過”https://域名“訪問了。

5總結

在4步配置配置server.xml時注意修改redirectPort為443

<Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="443" />

我就在這裡出錯了,導致浪費了一些時間。

相關文章