Tomcat 伺服器 SSL 證書安裝部署

1準備伺服器

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

2安裝JDK

2.1上傳JDK到Linux的伺服器.

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

2.2在Linux伺服器上安裝JDK

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

2.3配置JDK的環境變數.

配置環境變數:

① vi /etc/profile

② 在末尾行新增

  1. #配置Java環境變數,注意JAVA_HOME修改成自己的路徑,其他預設即可
  2. JAVA_HOME=/usr/local/jdk/jdk1.8.0_71
  3. CLASSPATH=.:$JAVA_HOME/lib.tools.jar
  4. PATH=$JAVA_HOME/bin:$PATH
  5. 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

    1. <Connector port="443"
    2. protocol="org.apache.coyote.http11.Http11NioProtocol"
    3. SSLEnabled="true"
    4. scheme="https"
    5. secure="true"
    6. keystoreFile="你自己jks檔案的路徑"
    7. keystorePass="你下載的密碼,解壓的資料夾裡就有"
    8. clientAuth="false"
    9. SSLProtocol="TLSv1+TLSv1.1+TLSv1.2"
    10. 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,在檔案後新增以下內容

    1. <login-config>
    2. <!-- Authorization setting for SSL -->
    3. <auth-method>CLIENT-CERT</auth-method>
    4. <realm-name>Client Cert Users-only Area</realm-name>
    5. </login-config>
    6. <security-constraint>
    7. <!-- Authorization setting for SSL -->
    8. <web-resource-collection >
    9. <web-resource-name >SSL</web-resource-name>
    10. <url-pattern>/*</url-pattern>
    11. </web-resource-collection>
    12. <user-data-constraint>
    13. <transport-guarantee>CONFIDENTIAL</transport-guarantee>
    14. </user-data-constraint>
    15. </security-constraint>
  • 重啟Tomcat

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

5總結

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

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

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