欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Tomcat下配置HTTPS的圖文教程

 更新時(shí)間:2024年09月27日 11:44:23   作者:YhMjQx  
Tomcat核心功能還是作為Java的容器來運(yùn)行Java后端代碼,雖然內(nèi)置了對(duì)HTTP請(qǐng)求的支持,但并不是最優(yōu)選擇,通常部署時(shí),會(huì)在Tomcat前面加一個(gè)專用的Http服務(wù)器,例如Nginx或Apache,本文介紹了Tomcat下配置HTTPS,需要的朋友可以參考下

引言

Tomcat核心功能還是作為Java的容器來運(yùn)行Java后端代碼,雖然內(nèi)置了對(duì)HTTP請(qǐng)求的支持,但并不是最優(yōu)選擇,通常部署時(shí),會(huì)在Tomcat前面加一個(gè)專用的Http服務(wù)器,例如Nginx或Apache

一、關(guān)鍵目錄信息

1.logs目錄

(1)catalina.out

Tomcat運(yùn)行過程中的終端輸出,可以看到錯(cuò)誤信息從而定位問題

當(dāng)Tomcat啟動(dòng)之后占用了后臺(tái)進(jìn)程,其過程中遇到的報(bào)錯(cuò)或請(qǐng)求信息輸出都會(huì)在本文件中存儲(chǔ)

我們可以使用 tail -f catalina.out 進(jìn)行實(shí)時(shí)查看文件信息變更

(2)localhost_access_log.2024-01-20.txt

該文件是Tomcat中的訪問日志存儲(chǔ)文件,其中存儲(chǔ)的全都是外部訪問的信息。在Linux上 Tomcat 8.0 默認(rèn)是打開的,可以手工關(guān)閉,但不建議關(guān)閉,可用于取證溯源

image-20240121144441065

其中內(nèi)容大致如圖所示,記錄了來訪客戶端的IP地址,以及該客戶端都訪問了那些內(nèi)容

我們可以使用 tail -f localhost_access_log.2024-01-20.txt 來實(shí)時(shí)觀測(cè)文件信息變更

image-20240121144854476

(3)/opt/apache-tomcat-8.0.53/conf/server.xml

該文件屬于Tomcat的核心配置文件,其中當(dāng)然也包含了日志配置信息

按下shift+G即可到達(dá)文本最后

image-20240121153215532

 <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log" suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />

2./opt/apache-tomcat-8.0.53/conf/server.xml

這是Tomcat的核心配置文件

<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

這是http服務(wù)開啟的端口配置,8080是http的默認(rèn)端口,8443是https的默認(rèn)端口

<!--
    <Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
               maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
               clientAuth="false" sslProtocol="TLS" />
    -->

配置 HTTPS 的基本信息,在互聯(lián)網(wǎng)上,HTTP必須是80,HTTPS必須是443,這樣才不需要再URL地址中加端口號(hào),其他的都需要明確指定

<!-- Define an AJP 1.3 Connector on port 8009 -->
    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

這是當(dāng)在Tomcat前另加一個(gè)處理HTTP請(qǐng)求的Apache服務(wù)器時(shí)所用的配置

其中AJP表示用于將HTTP的請(qǐng)求需要Tomcat容器(Java)處理的部分,交給Java來處理

二、Tomcat配置HTTPS

1.基礎(chǔ)

  • HTTP協(xié)議是全程明文,所以非常不安全
  • HTTP(應(yīng)用層)+ TCP(傳輸層) 之間加了一層 SSL(TLS),將HTTP協(xié)議進(jìn)行加密再傳輸
  • HTTPS的公網(wǎng)上傳輸:公鑰+私鑰進(jìn)行加密,客戶端或?yàn)g覽器可信證書(CA機(jī)構(gòu)頒發(fā))
  • 安全和性能不可得兼
  • 局域網(wǎng)內(nèi)部配置:(無法取得公網(wǎng)瀏覽器的信任,現(xiàn)實(shí)情況不可用)

(1)HTTP協(xié)議明文傳輸

全過程都是明文,沒有一點(diǎn)秘密可言

image-20240121160125430

(2)HTTPS對(duì)稱加密傳輸

一般情況下HTTPS協(xié)議使用的是對(duì)稱密鑰加密傳輸,當(dāng)然,這個(gè)對(duì)稱也不是言語(yǔ)上的對(duì)稱

image-20240121160257940

事實(shí)上,客戶端會(huì)生成一個(gè)隨機(jī)秘鑰,然后利用該隨機(jī)秘鑰對(duì)所要傳輸?shù)臄?shù)據(jù)進(jìn)行加密,然后客戶端利用自己的公鑰對(duì)隨機(jī)秘鑰進(jìn)行加密,然后client將加密后的隨機(jī)秘鑰和數(shù)據(jù)一起發(fā)送給服務(wù)器,服務(wù)器利用client的證書可以解開隨機(jī)秘鑰,然后再利用隨機(jī)秘鑰解開數(shù)據(jù)信息

(3)HTTPS非對(duì)稱加密傳輸

image-20240121160610466

在這里我們將程度比作client,上海比作服務(wù)器,傳輸數(shù)據(jù)比作發(fā)快遞

客戶端對(duì)要發(fā)送的數(shù)據(jù)進(jìn)行加密,發(fā)送給服務(wù)器。此時(shí)服務(wù)器無法解密,于是服務(wù)器自己也加密一次又發(fā)送給客戶端。此時(shí)客戶端對(duì)自己的加密解開然后再發(fā)送給服務(wù)器,此時(shí)數(shù)據(jù)上就只剩下上海自己的加密了

這只是大致的意思,具體信息還沒學(xué)到…

2.配置

  • 進(jìn)入jdk執(zhí)行目錄,如果應(yīng)將jdk環(huán)境變量添加好了就可以不需用這一步

cd /usr/java/jdk/bin

  • 輸入指令: keytool -genkeypair -alias "tomcat" -keyalg "RSA" -keystore "/opt/tomcat.keystore"

執(zhí)行之后會(huì)出現(xiàn)以下信息,跟著問題做就行了

輸入密鑰庫(kù)口令:  
再次輸入新口令: 
您的名字與姓氏是什么?
  [Unknown]:  ymq
您的組織單位名稱是什么?
  [Unknown]:  youdian
您的組織名稱是什么?
  [Unknown]:  youdian
您所在的城市或區(qū)域名稱是什么?
  [Unknown]:  xian
您所在的省/市/自治區(qū)名稱是什么?
  [Unknown]:  shanxi
該單位的雙字母國(guó)家/地區(qū)代碼是什么?
  [Unknown]:  cn
CN=ymq, OU=youdian, O=youdian, L=xian, ST=shanxi, C=cn是否正確?
  [否]:  y

輸入 <tomcat> 的密鑰口令
	(如果和密鑰庫(kù)口令相同, 按回車):  
再次輸入新口令: 

Warning:
JKS 密鑰庫(kù)使用專用格式。建議使用 "keytool -importkeystore -srckeystore /opt/tomcat.keystore -destkeystore /opt/tomcat.keystore -deststoretype pkcs12" 遷移到行業(yè)標(biāo)準(zhǔn)格式 PKCS12。

image-20240121163824289

此時(shí)我們就可以看到該目錄下多了一個(gè)證書文件

但是上述信息給出了warning,我們看看,他說要我們使用這條命令來遷移什么什么,ok

image-20240121164033872

也就是再執(zhí)行一次,然后備份了一下證書文件

  • 進(jìn)入 /opt/apache-tomcat-8.0.53/conf/server.xml

取消https配置的注釋,并且在下面添上兩個(gè)配置 keystorefile="/opt/tomcat.keystore" keystorePass="p-0p-0p-0" 使得完整信息如下

<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
               maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
               clientAuth="false" sslProtocol="TLS" 
               keystorefile="/opt/tomcat.keystore" keystorePass="p-0p-0p-0" />

image-20240121164801434

變?yōu)?/p>

image-20240121164851604

  • 重啟Tomcat

/opt/apache-tomcat-8.0.53/bin/shutdown.sh

/opt/apache-tomcat-8.0.53/bin/startup.sh

現(xiàn)在我們?nèi)L試使用https訪問woniusales

好家伙還是訪問不了,想想問題,防火墻開沒開,端口訪問改沒改

firewall-cmd --add-port=8443/tcp --permanent
firewall-cmd --add-service=https --permanent
systemctl restart firewalld

image-20240121165932441

雖然我們電腦上還是訪問不了(大概率是因?yàn)楝F(xiàn)在瀏覽器都比較高級(jí),非權(quán)威機(jī)構(gòu)發(fā)行的證書是不被瀏覽器允許的),但是Tomcat上配置HTTPS基本流程就是這樣

三、公網(wǎng)

1.公網(wǎng)需要一個(gè)固定的IP地址:購(gòu)買一臺(tái)云服務(wù)器,即可獲得一個(gè)固定IP

2.建議最好注冊(cè)一個(gè)域名,然后去通管局備案(否則不允許用域名訪問)

3.將該域名解析到IP地址,即可實(shí)現(xiàn)域名訪問,否則只能使用IP訪問

以上就是Tomcat下配置HTTPS的圖文教程的詳細(xì)內(nèi)容,更多關(guān)于Tomcat配置HTTPS的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評(píng)論