目錄
1、mac環境下部署Tomcat服務器
2、配置單項校驗的TLS服務器
3、配置雙向校驗的TLS服務器
1、mac環境下部署Tomcat服務器
首先,進到Tomcat官網進行下載,這裏使用Tomcat8,其他版本在官網也可以找到。
本小節是基於mac環境,window環境可能會稍有不同,請另行百度或google,但2、3小節部分平臺。
下載後,將壓縮包解壓,並命名爲“ApacheTomcat”(個人喜好),放置到/Users/xxx(你的mac用戶名)/Library文件夾中。
打開終端,進入到bin目錄下,可借用下面命令
cd /Users/xxx(你的mac用戶名)/Library/ApacheTomcat/bin
通過以下命令開啓tomcat
./startup.sh
開啓後,在瀏覽器中輸入http://localhost:8080/,如果看到如下界面,說明已經部署成功。
通過以下命令關閉tomcat
./startup.sh
2、配置單項校驗的TLS服務器
進入到Tomcat根目錄的conf,打開server.xml文件,在Service標籤(敲黑板!!小盆友當時大意,放錯位置,導致浪費了些時間)中添加如下代碼
<Connector
SSLEnabled="true"
acceptCount="100"
disableUploadTimeout="true"
enableLookups="true"
keystoreFile="/Users/xiaopenyou/Desktop/ceri/zinc_server.jks"
keystorePass="123456"
maxSpareThreads="75"
maxThreads="200"
minSpareThreads="5"
port="8443"
protocol="org.apache.coyote.http11.Http11NioProtocol"
scheme="https"
secure="true"
sslProtocol="TLS"
clientAuth="false"
/>
代碼中需要注意的三個點:
- keystoreFile:你的密鑰路徑(密鑰如何生成)
- keystorePass:你的密鑰密碼
- clientAuth:爲false時,說明爲單向校驗,雙向校驗下一小節講
設置完成保存後,重新啓動服務器。在瀏覽器中輸入https://localhost:8443/,你會看到如下熟悉的界面,說明你已經設置成功,因爲這裏使用的是自簽名的證書,所以瀏覽器顯示“不安全”,選擇下面紅色框,便能進入到真正的Tomcat界面,內容和http://localhost:8080/一樣,只是多了“不安全”的提示。
3、配置雙向校驗的TLS服務器
進入到Tomcat根目錄的conf,打開server.xml文件,在Service標籤(敲黑板!!小盆友當時大意,放錯位置,導致浪費了些時間)中添加如下代碼
<Connector
SSLEnabled="true"
acceptCount="100"
disableUploadTimeout="true"
enableLookups="true"
keystoreFile="/Users/zinc/Desktop/ceri/zinc_server.jks"
keystorePass="123456"
maxSpareThreads="75"
maxThreads="200"
minSpareThreads="5"
port="8443"
protocol="org.apache.coyote.http11.Http11NioProtocol"
scheme="https"
secure="true"
sslProtocol="TLS"
clientAuth="true"
truststoreFile="/Users/zinc/Desktop/ceri/zinc_client_for_sever.jks"
truststorePass="123456"
/>
代碼中需要注意的三個點:
- keystoreFile:你的密鑰路徑(密鑰如何生成)
- keystorePass:你的密鑰密碼
- clientAuth:爲true時,說明爲雙向校驗
- truststoreFile:客戶端的證書jks文件路徑
注意!!!這裏是jks文件,需要將客戶端證書(即cer文件)轉換爲jks文件,如何轉換可以參考https://www.jianshu.com/p/bfc15dbeedf1第五小節。(這裏當時也浪費了些許時間,一開始直接設置客戶端證書,導致沒法正常使用)
- truststorePass:客戶端的證書jks文件的密碼
設置完成保存後,重新啓動服務器。在瀏覽器中輸入https://localhost:8443/,會看到如下界面,說明已經設置成功,因爲雙向校驗中,客戶端需要將自己的公鑰傳輸給服務器進行驗證,但是瀏覽器並沒有公鑰,所以會TLS握手失敗,導致無法連接。