亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Tomcat9使用免費(fèi)的Https證書加密網(wǎng)站的方法

 更新時(shí)間:2018年05月22日 13:38:38   作者:letcafe  
這篇文章主要介紹了Tomcat9使用免費(fèi)的Https證書加密網(wǎng)站的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧

1.概述

Apache Tomcat是一款優(yōu)秀的Java Web容器,對(duì)于各個(gè)站長(zhǎng)來說,可以很方便的使用Tomcat將自己的網(wǎng)站博客放在公網(wǎng)的服務(wù)器上,分享自己的心得以及個(gè)人博客。

那么在公網(wǎng)中的訪問,沒有被第三方公認(rèn)可信的機(jī)構(gòu)加密時(shí),會(huì)默認(rèn)使用Http協(xié)議,以明文將自己的網(wǎng)站在公網(wǎng)上傳輸。這對(duì)于大部分領(lǐng)域都沒關(guān)系,但是對(duì)于某些敏感的數(shù)據(jù),甚至機(jī)密需要保護(hù)的數(shù)據(jù),例如:銀行卡號(hào)、銀行密碼、手機(jī)驗(yàn)證碼之類的信息,一旦被別有用心的人在中途使用抓包工具攔截,那么將會(huì)導(dǎo)致不可設(shè)想的后果。

那么網(wǎng)站需要使用SSL(Secure Sockets Layer),顧名思義,安全的套接字層。通過這層提供的保障,在SSL上面運(yùn)行的應(yīng)用都可以安全傳輸。

本文第二部分介紹如果獲取免費(fèi)的證書,第三部分介紹如何用已有的證書在Tomcat中配置,使得Https能夠運(yùn)作,最后一部分介紹,如何在瀏覽器中輸入地址,自動(dòng)由Http轉(zhuǎn)發(fā)到Https上,有需要的讀者可以根據(jù)需要跳過相應(yīng)部分。

2.獲取證書

對(duì)于Https的證書,相當(dāng)于是在傳輸過程中加入了第三方的驗(yàn)證機(jī)制,簡(jiǎn)稱CA(Certificate Authority),確保傳輸?shù)陌踩?。?duì)于大部分證書,簽發(fā)是需要一定的費(fèi)用的,本段落主要介紹免費(fèi)的證書提供方:FreeSSL

官方地址:https://freessl.org/

具備SSL免費(fèi)證書申請(qǐng)的前提是,先得有一個(gè)域名,沒有域名的用戶可以先移步阿里云或者騰訊云等域名交易網(wǎng)站購(gòu)買域名,本例中,我使用自己的已有域名:letcafe.cn作為樣例

下面介紹如何獲取免費(fèi)域名Https證書

步驟1、輸入你所購(gòu)買的域名

步驟2、選項(xiàng)默認(rèn),如果沒特殊需求按步驟填入郵箱后創(chuàng)建:

步驟3、創(chuàng)建完成后,等待幾秒后,將會(huì)生成一個(gè)域名解析DNS的驗(yàn)證環(huán)節(jié)。對(duì)此,需要您去域名供應(yīng)商網(wǎng)站添加解析,例如,我是用的是阿里云,我在:阿里云->控制臺(tái)->域名與網(wǎng)站,找到對(duì)應(yīng)的域名添加解析

解析示意圖如下:

解析添加完成后,等待將近一分鐘,可以回到FreeSSL驗(yàn)證DNS,單擊“點(diǎn)擊驗(yàn)證”按鈕后,將會(huì)返回你的CA證書以及公鑰

然后點(diǎn)擊證書下載,即可獲得帶有full_chain.pem的文件以及叫private.key的私鑰,到此,免費(fèi)的證書已經(jīng)申請(qǐng)完畢,下一步將Tomcat的對(duì)應(yīng)內(nèi)容加入HTTPS

3.配置Tomcat

3.1 生成jks文件

由于Tomcat證書不支持直接使用pem + 私鑰的方式,因此,需要多一步使用Openssl將full_chain.pem+private.key轉(zhuǎn)換為jks的步驟,首先將full_chain.pem和private.key上傳至服務(wù)器的任何目錄,我存放的目錄是:/root/apache-tomcat-ssl,如下圖:

隨后使用如下命令,在當(dāng)前目錄下生成一個(gè)名為freeSSL.jks的文件,如果使用不了如下命令,嘗試考慮升級(jí)Openssl到最新版本:

復(fù)制代碼 代碼如下:
openssl pkcs12 -export -out /root/apache-tomcat-ssl/freeSSL.jks -in ./full_chain.pem -inkey ./private.key

命令過程中會(huì)要求輸入keystore密碼,兩次確保一致,并記住該密碼,為了演示,我輸入的密碼為:123456(產(chǎn)品環(huán)境下,請(qǐng)確保安全換成其他復(fù)雜密碼)

3.2 配置server.xml

編輯Tomcat目錄下的server.xml文件,文件路徑位于:$CATALINA_HOME/conf/server.xml,取決于你的Tomcat安裝在何處。

在Connector中,添加如下Connector:

代碼附上:

這一步中的keystoreFile填寫之前使用Openssl生成的jks文件,keystorePass使用之前輸入的密碼。

<Connector
 protocol="org.apache.coyote.http11.Http11NioProtocol"
 port="443" maxThreads="200"
 scheme="https" secure="true" SSLEnabled="true"
 keystoreFile="/root/apache-tomcat-ssl/freeSSL.jks" keystorePass="123456"
 clientAuth="false" sslProtocol="TLS"/>

此外,為了將Tomcat監(jiān)聽80端口,并將HTTPS請(qǐng)求轉(zhuǎn)發(fā)到443端口(443為SSL默認(rèn)端口),還需要將server.xml文件中原有的Connector修改為如下:

將port="8080"改為port="80",redirectPort="8443"改為redirectPort="443"

修改好,保存退出,重啟Tomcat,在公網(wǎng)上訪問輸入地址:letcafe.cn,發(fā)現(xiàn)雖然:

通過輸入https://letcafe.cn。實(shí)現(xiàn)了網(wǎng)站上的小鎖顯示了

但是輸入letcafe.cn后,卻失去了Https的加密:

但是,不能用戶每次都去手敲HTTPS對(duì)不對(duì),此時(shí)的Tomcat是會(huì)對(duì)默認(rèn)繼續(xù)使用HTTP,所以如果需要將該域名下的所有訪問都走HTTPS加密的話,需要將所有對(duì)Tomcat的THHP訪問都默認(rèn)轉(zhuǎn)發(fā)給HTTPS的訪問,實(shí)現(xiàn)不管輸入letcafe.cn還是https://letcafe.cn都訪問的是HTTPS(如果沒有此需求,可不需要下一步)

4.轉(zhuǎn)發(fā)Http請(qǐng)求到Https

這一步非常簡(jiǎn)單,編輯$CATALINA_HOME/conf/web.xml文件,在其中添加如下代碼:

代碼如下:

<!-- 增加所有網(wǎng)址自動(dòng)跳轉(zhuǎn)https -->
 <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>

保存后重啟Tomcat,即可完成目標(biāo)

5.訪問測(cè)試

在瀏覽器中輸入:letcafe.cn或者h(yuǎn)ttps://letcafe.cn或者h(yuǎn)ttp://letcafe.cn都可以實(shí)現(xiàn)訪問定向到https://letcafe.cn中

6.可能會(huì)遇到的問題

如果訪問不了確認(rèn)如下問題是否解決:

1.防火墻是否開放端口,CentOS中是firewalld,是否添加了443和80端口

解決方案:添加端口并重載防火墻規(guī)則命令如下:

firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=443/tcp --permanent
firewall-cmd --reload

查看服務(wù)器已對(duì)外開放端口命令,確認(rèn)是否已放通80與443端口:

firewall-cmd --zone=public --list-ports

2.云服務(wù)提供商的攔截規(guī)則時(shí)候設(shè)置開放端口,例如:

阿里云->控制臺(tái)->云服務(wù)器ECS->你的服務(wù)器->更多->安全組配置

配置規(guī)則中,加入80和443端口的開放,具體配置參照阿里云文檔,騰訊云等其他服務(wù)商也類似,需要在服務(wù)器端先開放云服務(wù)商的攔截配置。

配置HTTPS踩了一些坑,希望能分享幫到他人,如有疑問,歡迎留言!

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Tomcat搭建本地服務(wù)器的圖文教程

    Tomcat搭建本地服務(wù)器的圖文教程

    Tomcat 服務(wù)器是一個(gè)免費(fèi)的開放源代碼的Web 應(yīng)用服務(wù)器,屬于輕量級(jí)應(yīng)用服務(wù)器。本文通過圖文并茂的形式給大家介紹了Tomcat搭建本地服務(wù)器的方法,感興趣的朋友一起看看吧
    2018-02-02
  • tomcat管道模式 pipeline與valve詳解

    tomcat管道模式 pipeline與valve詳解

    這篇文章主要介紹了tomcat管道模式 pipeline與valve詳解,管道模式就像一條管道把多個(gè)對(duì)象連接起來,整體看起來就像若干個(gè)閥門嵌套在管道中,而處理邏輯就放在閥門上,需要的朋友可以參考下
    2019-07-07
  • tomcat啟動(dòng)報(bào)錯(cuò):java.util.zip.ZipException的解決方法

    tomcat啟動(dòng)報(bào)錯(cuò):java.util.zip.ZipException的解決方法

    這篇文章主要給大家介紹了關(guān)于tomcat啟動(dòng)報(bào):java.util.zip.ZipException錯(cuò)誤的解決方法,文中通過示例代碼介紹的非常詳細(xì),同樣遇到這個(gè)問題的朋友可以參考借鑒,下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-08-08
  • IntelliJ IDE運(yùn)行Tomcat報(bào)錯(cuò)解決辦法

    IntelliJ IDE運(yùn)行Tomcat報(bào)錯(cuò)解決辦法

    這篇文章主要介紹了 IntelliJ IDE運(yùn)行Tomcat報(bào)錯(cuò)解決辦法的相關(guān)資料,出現(xiàn)“Unable to ping server at localhost:1099”錯(cuò)誤解決方法,需要的朋友可以參考下
    2017-08-08
  • 直接雙擊啟動(dòng)tomcat中的startup.bat閃退原因及解決方法

    直接雙擊啟動(dòng)tomcat中的startup.bat閃退原因及解決方法

    免安裝的tomcat雙擊startup.bat后,啟動(dòng)窗口一閃而過,而且tomcat服務(wù)未啟動(dòng),下面與大家分享下原因及解決方法
    2014-08-08
  • 詳解Tomcat Web 應(yīng)用綁定域名的幾種方式

    詳解Tomcat Web 應(yīng)用綁定域名的幾種方式

    本篇文章主要介紹了詳解Tomcat Web 應(yīng)用綁定域名的幾種方式,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-12-12
  • SpringBoot?升級(jí)內(nèi)嵌Tomcat的操作示例

    SpringBoot?升級(jí)內(nèi)嵌Tomcat的操作示例

    這篇文章主要介紹了SpringBoot升級(jí)內(nèi)嵌Tomcat,這里采用的是屏蔽舊的依賴,然后手動(dòng)寫dependency的方式,本文結(jié)合示例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2023-08-08
  • Tomcat服務(wù)器搭建教程

    Tomcat服務(wù)器搭建教程

    這篇文章主要為大家詳細(xì)介紹了Tomcat服務(wù)器搭建教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • Tomcat源碼解析之Web請(qǐng)求與處理

    Tomcat源碼解析之Web請(qǐng)求與處理

    這篇文章主要介紹了Tomcat源碼解析之Web請(qǐng)求與處理,文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)java的小伙伴們有很好的幫助,需要的朋友可以參考下
    2021-05-05
  • Mac環(huán)境下配置tomcat的步驟詳解

    Mac環(huán)境下配置tomcat的步驟詳解

    我們?cè)贛AC系統(tǒng)中查看網(wǎng)頁(yè)時(shí),一般都要使用到tomcat,這是因?yàn)閍ppache只支持靜態(tài)網(wǎng)頁(yè),但像asp,php,cgi,jsp等動(dòng)態(tài)就需要tomcat來處理。那么該怎么在自己的MAC中安裝tomcat呢?現(xiàn)在小編就教大家安裝的方法,有需要的朋友們可以參考借鑒。
    2016-10-10

最新評(píng)論