在 Tomcat 中配置 SSL/TLS 以支持 HTTPS

首先是申請證書,可以用java自帶的keytool生成證書

語句如下:

 keytool -genkey -alias tomcat -keyalg RSA -keystore /home/rainman/.keystore

沒有設置全局變量的話,也可以進入java的目錄,如

/usr/java/jdk1.6.0_04/bin/keytool -genkey -alias tomcat -keyalg RSA -keystore /home/rainman/.keystore

執行命令後會讓輸入證書信息

然後要配置tomcat,找到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" />
    -->

取消註釋,並改爲

<Connector port="8443" protocol="HTTP/1.1"
               maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
               clientAuth="false" sslProtocol="TLS" 
               keystoreFile="/home/rainman/.keystore" (keystore文件地址)
               keystorePass="123456"/>(123456是我之前輸入的keystore密碼)

然後重新一下就可以通過https://ip:8443/url請求服務了

以上是本地和測試環境的https配置。如果希望能通過域名訪問,需要向相關機構申請https證書,就不是這樣隨隨便便的搞了



<1>首先在本地建立一個keystore文件,例

進入JAVA_HOME(jdk下的bin目錄) keytool -v -genkey -alias tomcat -keyalg RSA -keystore c:/tomcat.keystore

在其後輸入密碼,以及提及的信息。這樣就生成了一個keystore文件。

<2> 在服務器關閉的情況下在生成的servser工程下,找到server.xml文件,在其中尋找<Connector port="8443"……

將夾在上下的註釋去掉。(尋找Connector port="8443“是否還有其他,有則將其註釋掉)

<3>將keystore文件加載其中

<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
               maxThreads="150" scheme="https" secure="true"
               clientAuth="false" keystoreFile="C:/tomcat.keystore" keystorePass="tomcat" sslProtocol="TLS" />

<4>重新啓動服務即可。

<5>在瀏覽器中輸入https://localhost:8443/yourproject/ 選擇導入證書即可


發佈了8 篇原創文章 · 獲贊 13 · 訪問量 29萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章