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.然後回車
其中秘鑰庫口令和秘要口令最好輸入同一個,並且記下這個口令,其他的隨便填即可;
4.最後在D盤下就可以看到生成的證書
四、tomcat配置https
1.將剛才生成的test.keystore文件放入到tomcat的conf目錄下
2.在tomcat的conf目錄下,打開server.xml文件,在對應位置添加如下配置代碼:
<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
五、啓動tomcat查看實現效果
1.打開瀏覽器輸入訪問地址:
2.提示不安全連接,點擊紅色框中繼續前往:
3.登錄成功後進入到系統首頁