tomcat7下對HTTPS的部署配置


1、申請CA證書,可以在騰訊雲或者阿里雲申請到免費的CA,不過前提是,你要有太服務器和域名,並且解析過域名。

2、下載申請到的CA證書到本地,在tomcat7上進行相關配置。

3、Tomcat 證書部署

3.1 獲取證書

如果申請證書時有填寫私鑰密碼,下載可獲得Tomcat文件夾,其中有密鑰庫 www.domain.com.jks;
如果沒有填寫私鑰密碼,不提供Tomcat證書文件的下載,需要用戶手動轉換格式生成。

可以通過 Nginx 文件夾內證書文件和私鑰文件生成jks格式證書
轉換工具:https://www.trustasia.com/tools/cert-converter.htm
使用工具時注意填寫 密鑰庫密碼 ,安裝證書時配置文件中需要填寫。

3.2 證書安裝

配置SSL連接器,將www.domain.com.jks文件存放到conf目錄下,然后配置同目錄下的server.xml文件:

<Connector port="443" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" keystoreFile="conf\www.domain.com.jks" keystorePass="changeit" clientAuth="false" sslProtocol="TLS" /> 

注:

配置文件參數 說明
clientAuth 如果設為true,表示Tomcat要求所有的SSL客戶出示安全證書,對SSL客戶進行身份驗證
keystoreFile 指定keystore文件的存放位置,可以指定絕對路徑,也可以指定相對於<catalina_home> (Tomcat安裝目錄)環境變量的相對路徑。如果此項沒有設定,默認情況下,Tomcat將從當前操作系統用戶的用戶目錄下讀取名為 “.keystore”的文件。
keystorePass 密鑰庫密碼,指定keystore的密碼。(如果申請證書時有填寫私鑰密碼,密鑰庫密碼即私鑰密碼)
sslProtocol 指定套接字(Socket)使用的加密/解密協議,默認值為TLS

3.3 http自動跳轉https的安全配置

到conf目錄下的web.xml。在</welcome-file-list>后面,</web-app>,也就是倒數第二段里,加上這樣一段

<security-constraint><web-resource-collection > <web-resource-name >SSL</web-resource-name> <url-pattern>/*</url-pattern> </web-resource-collection> <user-data-constraint> <transport-guarantee>CONFIDENTIAL</transport-guarantee> </user-data-constraint></security-constraint>

這步目的是讓非ssl的connector跳轉到ssl的connector去。所以還需要前往server.xml進行配置:

<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="443" /> 

redirectPort改成ssl的connector的端口443,重啟后便會生效。

4、由於tomcat對ssl的實現由兩種方式,tomcat7默認實現是APR方式,所以這里我們要對server.xml再進行相關修改。

5、結果展示

 


免責聲明!

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



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