tomcat中開啟的對SSL(https)的支持


打開conf/server.xml會發現有下面一段配置被注釋着:

    <!--

    <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"

               maxThreads="150" scheme="https" secure="true"

               clientAuth="false" sslProtocol="TLS" />

    -->

這段配置可以讓tomcat支持SSL連接。默認是注釋的。取消他的注釋,並按需修改。

secure必須設置為true,scheme必須設計為https

如果你更改了SSL端口8443為其他端口,你必須修改其他非SSL的redirectPort,因為非SSL連接會重定向那些需要SSL安全約束的用戶請求到你所修改的那個端口。

 

去掉注釋,並啟動tomcat,輸入 https://localhost:8443 就可以看到SSL加密效果。 8443是配置的ssl請求連接端口

 

 

配置Keystores

要使用ssl connector,必須先創建一個keystore。他包含了服務器中被客戶端用於驗證服務器的數字證書。一旦客戶端接受了這個證書,客戶端就可以使用public key去加密他們要發送的數據。而服務器,擁有一個private key,作為唯一解密數據的密鑰。

 

要創建keystore,可以使用JAVA_HOME/bin下的keytool

keytool -genkey -alias tomcat -keyalg RSA

其中:

-genkey:創建一個public-private key pair

 -alias tomcat:用戶別名為tomcat

-keyalg RSA: 使用RSA算法。  MD5算法也是被支持的,但是建議使用RSA獲得更好的兼容。

上面那句話,創建了一個自簽證書(self-signed certificate)

 

運行上面這段命令后,如果是第一次使用,會讓你輸入密鑰庫口令,這個是倉庫口令,然后輸入個人資料,最后為tomcat用戶設置口令,如果想設置為和倉庫口令一致,直接回車即可。

最后,會在C:\Users\Administrator(當前登錄用戶名)下生成一個.keystore的文件,保存tomcat等key信息。

 如下圖所示:

如果想使用keystore,那么將connector修改如下:

<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"

               maxThreads="150" scheme="https" secure="true"

               clientAuth="false" sslProtocol="TLS"   keystorePass="你剛才為tomcat用戶添加的口令"/>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM