Tomcat 配置Https請求

一、tomcat版本:apache-tomcat-8.5.8-windows-x64

二、SSL證書申請

  1. 用JDK自帶的keytool工具生成證書,可以用任意一臺安裝jdk的主機(jī)生成證書,無需申請,壞處是生成的證書沒有通過認(rèn)證,瀏覽器訪問時,會出現(xiàn)不可信證書提醒,生成過程參考:http://lixor.iteye.com/blog/1532655;

2、在第三方申請證書,國內(nèi)外大多證書頒發(fā)單位都是收費(fèi)的,也有部分是首年免費(fèi),本文檔演示的是在騰訊云DV SSL 域名型證書申請,首年免費(fèi),其他頒發(fā)單位參考:Let's Encrypt、StartSSL、COMODO PositiveSSL、CloudFlare SSL、Wosign沃通SSL等。

三、騰訊云證書申請過程

1、登錄騰訊云,選擇SSL證書管理(https://console.qcloud.com/ssl

證書列表

2、點(diǎn)擊申請證書


申請證書

3、填寫證書信息

填寫資料
填寫資料

注:
3.1 通用名稱為需要配置https協(xié)議訪問服務(wù)的域名
3.2 證書備注名隨便填,方便記憶即可
3.3 私鑰密碼填寫后必須留存,配置tomcat時需要用到

4、域名身份驗(yàn)證,第一種是手動DNS驗(yàn)證,這種方式需要用戶在域名上解析一條騰訊云制定的二級域名,由于映射方式CNAME方式萬網(wǎng)不提供,所以如果域名是在騰訊云上管理的可以采用這種方式,如果不是建議采用第二種文件驗(yàn)證

選擇驗(yàn)證方式

5、文件驗(yàn)證
以下是官方提供的文件驗(yàn)證方法:
https://www.qcloud.com/document/product/400/4142#3.-.E6.96.87.E4.BB.B6.E9.AA.8C.E8.AF.81

文件驗(yàn)證
注意:

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默認(rèn)創(chuàng)建文本時隱藏了后綴名,所以最好是在本地創(chuàng)建好文件(確定文件后綴名是.htm)再放到服務(wù)器上;
5.4 配置好之后啟動tomcat,訪問路徑,查看是否操作成功(tomcat中conf/server.xml入口端口需改成80);
5.5 配置成功后會騰訊云會自動進(jìn)行驗(yàn)證,驗(yàn)證通過后會有短信提醒,時間大概是幾分鐘。
6、證書成功申請后,下載下來,將其中tomcat的證書解壓到tomcat/conf目錄下;
7、證書成功申請后,在證書管理列表中點(diǎn)擊頒發(fā)進(jìn)行證書頒發(fā);
8、證書成功申請后,點(diǎn)擊分配項(xiàng)目,分配到默認(rèn)項(xiàng)目。

四、Tomcat配置

1、經(jīng)過上述步驟我們已經(jīng)得到了所需要的證書,將證書.jks文件放到tomcat/conf目錄下
證書信息
2、打開conf/server.xml文件進(jìn)行編輯

2.1 配置80端口節(jié)點(diǎn)修改如下
<Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="443" />
2.2 在80端口配置節(jié)點(diǎn)下添加如下配置

<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端口是單獨(dú)訪問的,為了讓用戶在訪問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端口無法訪問(如果沒有備案,在申請證書驗(yàn)證的時候就無法通過,驗(yàn)證需要通過域名的80端口訪問);
2.此處申請的證書綁定的是www頂級域名,親測配置完成后二級域名也可使用https訪問,但是會提示證書不安全,如有需要建議單獨(dú)申請

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,699評論 19 139
  • 服務(wù)器https配置 配置https操作說明文檔 1、查看服務(wù)器環(huán)境配置(tomcat和apache合并使用) 2...
    南京楊小兵閱讀 9,255評論 0 9
  • WWDC 16 中,Apple 表示將繼續(xù)在 iOS 10 和 macOS 10.12 里收緊對普通 HTTP 的...
    小如99閱讀 6,405評論 0 25
  • 基礎(chǔ)概念介紹:秘鑰/證書/https握手/CA相關(guān)概念crt證書: 只含有公鑰p12證書: 是包含證書(含公鑰...
    liangxifeng833閱讀 5,836評論 0 10
  • 在使用過一段時間的騰訊路寶之后,決定談?wù)勱P(guān)于導(dǎo)航的一些事兒。 在接觸騰訊路寶之前,我的首選導(dǎo)航一直都是高德,對于高...
    延遲玩樂閱讀 1,182評論 0 1

友情鏈接更多精彩內(nèi)容