Tomcat下圖解且詳細部署SSL(https)加密證書的方式方法
[重要通告]如您遇疑難雜癥,本站支持知識付費業務,掃右邊二維碼加博主微信,可節省您寶貴時間哦!
隨著ssl證書越來越普遍的現在,大家都在使用ssl在部署網站,現在即使不使用ssl也還可以,但是有些瀏覽器已經開始攔截,還是建議使用ssl證書,這樣也顯得網站正規,今天有個客戶用的是Tomcat,想要部署一下ssl證書,現在也記錄下;
第一步,申請證書;
這個申請證書沒啥可說的,直接去阿里云,騰訊云,華為云,百度云等各種云去免費申請即可,申請下來都是帶各種運行環境的;以阿里云為例,直接下載直接對應的即可;(推薦使用騰訊云證書,騰訊云下載后就是Tomcat部署的JKS格式,阿里云就需要轉換一下)
轉換證書格式
1、使用java jdk將PFX格式證書轉換為JKS格式證書? 在命令行界面輸入以下代碼:
切換到證書解壓文件 的路徑:pushd d:\30XXXX5_0mbx6.cn_tomcat(這是我的文件路徑)
2.使用命令:domains.jks是生成的jks格式證書名稱,回車,會提示你輸入三次密碼,建議三次都是輸入密碼文本的密碼,成功后會再文件夾下生成domains.jks文件
keytool -importkeystore -srckeystore?你的證書名稱.pfx -destkeystore domains.jks -srcstoretype PKCS12 -deststoretype JKS
第二步、配置server.xml 需要修改三個地方
先把domains.jks證書上傳到服務上的Tomcat的conf文件夾下即可;
切換到conf目錄下編輯server.xml? (Linux命令)
cd /usr/tomcat/apache-tomcat-8.5.11/conf? 注意改成自己對應文件路徑 vim server.xml
第一處修改:
找到:
修改成以下代碼:(PS:443為https默認訪問端口)
<Connector port="443" protocol="HTTP/1.1" SSLEnabled="true"
? ? ? ? ? ? ? maxThreads="150" scheme="https" secure="true"
? ? ? ? ? ? ? keystoreFile="conf/domains.jks"
? ? ? ? ? ? ? keystorePass="80ISkH7c" //證書密鑰 ,密碼文本那個
? ? ? ? ? ? ? clientAuth="false" sslProtocol="TLS" />
PS:首先去掉注釋,然后certificateKeystoreFile屬性是讓你告訴服務器需要哪個SSL證書(部署多個證書,請自行取名稱),后面就填復制過去的那個jks文件的名字(記得帶上jks后綴),然后加上certificateKeystorePassword這個屬性,后面的屬性值填秘鑰,如果你設置密鑰,就填寫你剛才生成時候的,如若沒有,就直接填 pfx-password.txt 秘鑰即可
以下兩個修改是為了讓http訪問自動跳轉為https訪問;
第二處修改:找到
改成
第三處修改:找到
改成
保存,退出。
第三步、配置web.xml
編輯web.xml
vim web.xml
在該文件</welcome-file-list>標簽(一般在文件最末尾)后面加上這樣一段:
<login-config>??
??? <!-- Authorization setting for SSL -->??
??? <auth-method>CLIENT-CERT</auth-method>??
??? <realm-name>Client Cert Users-only Area</realm-name>??
</login-config>??
<security-constraint>??
??? <!-- Authorization setting for SSL -->??
??? <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>
保存,退出,重啟tomcat即可,這樣操作即可搞定;
PS:延伸閱讀
1、若最后啟動tomcat時候報:Catalina.start using conf/server.xml: Element type "Connector" must be followed by either attribute ,請注意不要分行,每個屬性間隔一個空格保存就好即可;
2、嘗試使用https://+域名來訪問,如果顯示找不到頁面,那么就應該是你云服務器443端口被防火墻攔截了,此時就需要打開443端口;去服務器直接開啟即可,這里不再做闡述,不會的話,請參閱站內文章開啟ftp文章 阿里云服務器(ECS)操作系統建立IIS FTP連接時出現:讀取目錄列表失敗的解決辦法
問題未解決?付費解決問題加Q或微信 2589053300 (即Q號又微信號)右上方掃一掃可加博主微信
所寫所說,是心之所感,思之所悟,行之所得;文當無敷衍,落筆求簡潔。 以所舍,求所獲;有所依,方所成!