婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Tomcat9使用免費的Https證書加密網站的方法

Tomcat9使用免費的Https證書加密網站的方法

熱門標簽:好看的地圖標注圖標下載 德州外呼系統排名 機器人電銷有什么用 上海電銷卡外呼系統廠家 福州外呼系統中間件 百度地圖標注備注 貴州全自動外呼系統廠家 地圖標注員怎么去做 威海人工智能電銷機器人系統

1.概述

Apache Tomcat是一款優秀的Java Web容器,對于各個站長來說,可以很方便的使用Tomcat將自己的網站博客放在公網的服務器上,分享自己的心得以及個人博客。

那么在公網中的訪問,沒有被第三方公認可信的機構加密時,會默認使用Http協議,以明文將自己的網站在公網上傳輸。這對于大部分領域都沒關系,但是對于某些敏感的數據,甚至機密需要保護的數據,例如:銀行卡號、銀行密碼、手機驗證碼之類的信息,一旦被別有用心的人在中途使用抓包工具攔截,那么將會導致不可設想的后果。

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

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

2.獲取證書

對于Https的證書,相當于是在傳輸過程中加入了第三方的驗證機制,簡稱CA(Certificate Authority),確保傳輸的安全性。對于大部分證書,簽發是需要一定的費用的,本段落主要介紹免費的證書提供方:FreeSSL

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

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

下面介紹如何獲取免費域名Https證書

步驟1、輸入你所購買的域名

步驟2、選項默認,如果沒特殊需求按步驟填入郵箱后創建:

步驟3、創建完成后,等待幾秒后,將會生成一個域名解析DNS的驗證環節。對此,需要您去域名供應商網站添加解析,例如,我是用的是阿里云,我在:阿里云->控制臺->域名與網站,找到對應的域名添加解析

解析示意圖如下:

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

然后點擊證書下載,即可獲得帶有full_chain.pem的文件以及叫private.key的私鑰,到此,免費的證書已經申請完畢,下一步將Tomcat的對應內容加入HTTPS

3.配置Tomcat

3.1 生成jks文件

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

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

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

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

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監聽80端口,并將HTTPS請求轉發到443端口(443為SSL默認端口),還需要將server.xml文件中原有的Connector修改為如下:

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

修改好,保存退出,重啟Tomcat,在公網上訪問輸入地址:letcafe.cn,發現雖然:

通過輸入https://letcafe.cn。實現了網站上的小鎖顯示了

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

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

4.轉發Http請求到Https

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

代碼如下:

<!-- 增加所有網址自動跳轉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,即可完成目標

5.訪問測試

在瀏覽器中輸入:letcafe.cn或者https://letcafe.cn或者http://letcafe.cn都可以實現訪問定向到https://letcafe.cn中

6.可能會遇到的問題

如果訪問不了確認如下問題是否解決:

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

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

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

查看服務器已對外開放端口命令,確認是否已放通80與443端口:

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

2.云服務提供商的攔截規則時候設置開放端口,例如:

阿里云->控制臺->云服務器ECS->你的服務器->更多->安全組配置

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

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

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

標簽:葫蘆島 南陽 邵陽 白城 撫州 泉州 南陽 岳陽

巨人網絡通訊聲明:本文標題《Tomcat9使用免費的Https證書加密網站的方法》,本文關鍵詞  Tomcat9,使用,免費,的,Https,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Tomcat9使用免費的Https證書加密網站的方法》相關的同類信息!
  • 本頁收集關于Tomcat9使用免費的Https證書加密網站的方法的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 石门县| 榆林市| 来凤县| 交口县| 郓城县| 东宁县| 北海市| 康马县| 赤水市| 南投市| 永嘉县| 漳平市| 馆陶县| 固始县| 延长县| 石河子市| 枣庄市| 保定市| 称多县| 剑川县| 迭部县| 五莲县| 丰原市| 洛南县| 佛山市| 鱼台县| 晴隆县| 桂林市| 武隆县| 类乌齐县| 茂名市| 黎城县| 涿鹿县| 封开县| 鲁山县| 黄梅县| 四会市| 自贡市| 高密市| 东兴市| 灵丘县|