Tomcat配置https訪問

一、環境準備

 

為了成功配置https,你需要具備以下環境:

Java jdk

Tomcat

二、SSL證書簡介

要想使用https,首先,我們需要有服務器端SSL證書,證書可以通過兩個渠道獲得:

1.公開可信認證機構

例如天威誠信等購買的服務器端SSL證書,但是申請一般是收費的,一般幾百到幾千塊一年。(受主流瀏覽信任,不會有不安全連接的提示)

2.使用JAVA的jdk生成

雖然安全性不是那麼高,但勝在成本低(訪問時瀏覽器會提示不安全連接)。目前證書有以下常用文件格式:JKS(.keystore),微軟(.pfx),PEM(.key + .crt)。其中,tomcat使用JKS格式,nginx使用PEM格式.

雖然兩種方式博主都已經實現過,但是這裏只介紹JKS格式.

三、JKS格式證書生成

1.使用JDK生成JKS格式證書

打開你的終端cmd窗口,輸入:

1.進入到jdk安裝目錄:

C:\Program Files\Java\jdk1.8.0_60\bin

2.輸入:

keytool -genkey -v -alias testKey -keyalg RSA -validity 3650 -keystore D:/test.keystore

備註:

alias: 別名這裏起名testKey

keyalg: 證書算法,RSA

validity:證書有效時間,3650天

keystore:證書生成的目標路徑和文件名,替換成你自己的路徑即可,我定義的是D:/test.keystore

3.然後回車

java退款pem證書_SSL

其中秘鑰庫口令和秘要口令最好輸入同一個,並且記下這個口令,其他的隨便填即可;

4.最後在D盤下就可以看到生成的證書

 

java退款pem證書_全連接_02

四、tomcat配置https

1.將剛才生成的test.keystore文件放入到tomcat的conf目錄下

 

java退款pem證書_tomcat_03

2.在tomcat的conf目錄下,打開server.xml文件,在對應位置添加如下配置代碼:

java退款pem證書_tomcat_04

<Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol"

  maxThreads="150" SSLEnabled="true" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" keystoreFile="${catalina.home}/conf/test.keystore" keystorePass="888888"  />

  • port: https的端口,默認8443(可以根據需求自行修改)
  • clientAuth:設置是否雙向驗證,默認為false,設置為true代表雙向驗證keystoreFile
  • keystoreFile: keystore證書的路徑
  • keystorePass: 生成keystore時的口令

最後在eclipse工程中從新加載tomcat服務就會看到SSL端口為8443

java退款pem證書_全連接_05

五、啓動tomcat查看實現效果

1.打開瀏覽器輸入訪問地址:

 

java退款pem證書_tomcat_06

2.提示不安全連接,點擊紅色框中繼續前往: 

java退款pem證書_tomcat_07

3.登錄成功後進入到系統首頁