說明
最近項(xiàng)目上遇到一些https的問題,需要在Tomcat里面測(cè)試一下如何開啟https協(xié)議訪問網(wǎng)站,在網(wǎng)上查了一些資料,自己也試了很多次,終于成功搞定了,下面跟大家分享一下我的一點(diǎn)經(jīng)驗(yàn)。
步驟
使用jdk自帶的keytool生成密鑰庫
打開cmd,切換到j(luò)dk安裝目錄的bin目錄下,然后執(zhí)行命令:
keytool -genkey -v -alias tomcat -keyalg RSA -keystore D:tomcat.keystore -validity 36500
其中的tomcat是秘鑰庫的別名,36500是秘鑰庫的有效時(shí)間,單位為天。
在生成秘鑰庫的過程中還需要你輸入秘鑰庫的密碼,以及一些相關(guān)的秘鑰注冊(cè)信息,其中【您的名字與姓氏】最好是輸入你網(wǎng)站的域名。
在tomcat里面配置密鑰庫
找到tomcat目錄conf中的server.xml中找到一段被注釋掉的配置:
將這段配置取消注釋,并添加一些配置如下:
其中,keystoreFile配置的就是我們剛才生成的秘鑰庫的全路徑,keystorePass就是秘鑰庫的密碼。
這樣配置好以后就可以在瀏覽器中輸入url:“https://localhost:8443/”來查看https訪問的效果了。
如何取消https的訪問警告
經(jīng)過上面的配置以后我們就可以使用https協(xié)議來訪問我們的網(wǎng)站了,但是還有個(gè)小問題,就是在地址欄里面有一個(gè)鎖帶著紅叉,意思是警告我們這個(gè)地址是不安全的,不被信任的,這樣看著比較別扭,我們可以通過下面的步驟來去掉這個(gè)警告。
1、 使用keytool導(dǎo)出keystore文件里面的cer證書。
keytool -alias "tomcat" -exportcert -keystore D:tomcat.keystore -file D:tomcat.cer
執(zhí)行上面的命令并且輸入秘鑰庫的密碼,即可導(dǎo)出cer證書。
2、 導(dǎo)出cer證書后將證書導(dǎo)入瀏覽器中,打開瀏覽器的設(shè)置頁面,找到https/ssl證書管理,按照提示一步一步導(dǎo)入剛才生成的cer證書,注意在選擇證書的存儲(chǔ)位置時(shí)要選擇【受信任的根證書頒發(fā)機(jī)構(gòu)】。這樣操作以后就可以在地址欄里去掉那個(gè)紅色警告了。
注意事項(xiàng)
1、我發(fā)現(xiàn)在配置server.xml文件里面的keystoreFile時(shí),假如keystore文件是放在當(dāng)前用戶目錄下面,那么將keystoreFile設(shè)置為${user.home}/.keystore的話,訪問https失敗,如果設(shè)置為它的實(shí)際路徑:C:UsersAdministrator.keystore的話,則https訪問成功。