一、tomcat版本:apache-tomcat-8.5.8-windows-x64
二徘溢、SSL證書申請
- 用JDK自帶的keytool工具生成證書吞琐,可以用任意一臺安裝jdk的主機生成證書,無需申請然爆,壞處是生成的證書沒有通過認證,瀏覽器訪問時黍图,會出現(xiàn)不可信證書提醒曾雕,生成過程參考:http://lixor.iteye.com/blog/1532655;
2助被、在第三方申請證書剖张,國內(nèi)外大多證書頒發(fā)單位都是收費的,也有部分是首年免費揩环,本文檔演示的是在騰訊云DV SSL 域名型證書申請搔弄,首年免費,其他頒發(fā)單位參考:Let's Encrypt丰滑、StartSSL钧大、COMODO PositiveSSL刃永、CloudFlare SSL、Wosign沃通SSL等。
三宪潮、騰訊云證書申請過程
1、登錄騰訊云堡距,選擇SSL證書管理(https://console.qcloud.com/ssl)
2趾断、點擊申請證書
3、填寫證書信息
注:
3.1 通用名稱為需要配置https協(xié)議訪問服務(wù)的域名
3.2 證書備注名隨便填噩咪,方便記憶即可
3.3 私鑰密碼填寫后必須留存顾彰,配置tomcat時需要用到
4、域名身份驗證胃碾,第一種是手動DNS驗證涨享,這種方式需要用戶在域名上解析一條騰訊云制定的二級域名,由于映射方式CNAME方式萬網(wǎng)不提供书在,所以如果域名是在騰訊云上管理的可以采用這種方式灰伟,如果不是建議采用第二種文件驗證
5、文件驗證
以下是官方提供的文件驗證方法:
https://www.qcloud.com/document/product/400/4142#3.-.E6.96.87.E4.BB.B6.E9.AA.8C.E8.AF.81
注意:
5.1 以tomcat為例儒旬,上訴的意思可以在Tomcat/webapp/Root文件夾下創(chuàng)建/.well-known/pki-validation文件目錄栏账,創(chuàng)建文件flieauth.htm,文件的內(nèi)容是:根據(jù)證書詳情中提供填寫栈源。
5.2 WINDOWS操作系統(tǒng)手動是無法創(chuàng)建.開頭的文件夾挡爵,需要切換到DOS下,使用命令創(chuàng)建甚垦;
> md .well-known
5.3 windows server默認創(chuàng)建文本時隱藏了后綴名茶鹃,所以最好是在本地創(chuàng)建好文件(確定文件后綴名是.htm)再放到服務(wù)器上涣雕;
5.4 配置好之后啟動tomcat,訪問路徑闭翩,查看是否操作成功(tomcat中conf/server.xml入口端口需改成80)挣郭;
5.5 配置成功后會騰訊云會自動進行驗證,驗證通過后會有短信提醒疗韵,時間大概是幾分鐘兑障。
6、證書成功申請后蕉汪,下載下來流译,將其中tomcat的證書解壓到tomcat/conf目錄下;
7者疤、證書成功申請后福澡,在證書管理列表中點擊頒發(fā)進行證書頒發(fā);
8驹马、證書成功申請后革砸,點擊分配項目,分配到默認項目窥翩。
四业岁、Tomcat配置
1、經(jīng)過上述步驟我們已經(jīng)得到了所需要的證書寇蚊,將證書.jks文件放到tomcat/conf目錄下
2笔时、打開conf/server.xml文件進行編輯
2.1 配置80端口節(jié)點修改如下
<Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="443" />
2.2 在80端口配置節(jié)點下添加如下配置
<Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="150" SSLEnabled="true">
<SSLHostConfig>
<Certificate certificateKeystoreFile="conf/www.abc.com.jks" certificateKeyAlias="www.abc.com"
certificateKeystorePassword="sunrise2017"
type="RSA" />
</SSLHostConfig>
</Connector>
注:certificateKeystoreFile是證書.jks文件的保存位置,此處是conf目錄仗岸,如果是其他地址請?zhí)顚懲暾夸?certificateKeyAlias是證書別名允耿,建議放訪問域名;certificateKeystorePassword是證書密碼,在證書申請時填寫保存的(很重要)扒怖。
2.3 修改
<Connector port="8009" protocol="AJP/1.3" redirectPort="443" />
2.4 修改后啟動tomcat较锡,以https協(xié)議通過443端口訪問tomcat資源,如果正常訪問盗痒,則配置成功
3蚂蕴、80端口到https端口的自動映射
上述配置完成之后80端口和443端口是單獨訪問的,為了讓用戶在訪問80端口時自動跳轉(zhuǎn)443端口俯邓,需要修改conf/web.xml文件骡楼,打開文件在倒數(shù)第二行添加如下代碼即可:
<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>
4、重啟tomcat配置完成
<strong>特別注意:</strong>
1.此處配置的域名必須完成備案稽鞭,否則80端口無法訪問(如果沒有備案鸟整,在申請證書驗證的時候就無法通過,驗證需要通過域名的80端口訪問);
2.此處申請的證書綁定的是www頂級域名朦蕴,親測配置完成后二級域名也可使用https訪問篮条,但是會提示證書不安全弟头,如有需要建議單獨申請