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