国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Tomcat10配置端口號(hào)為443(使用https訪問(wèn))

瀏覽:134日期:2023-03-19 16:51:56
目錄
  • 前言
  • 前期準(zhǔn)備
  • 具體操作步驟
  • HTTP 自動(dòng)跳轉(zhuǎn) HTTPS 的安全配置(可選)
  • 如何檢驗(yàn)配置是否成功
  • 結(jié)語(yǔ)

前言

tomcat配置好了以后默認(rèn)是使用8080端口訪問(wèn)的,也就是需要在使用"域名.com:8080"才能訪問(wèn)。這篇總結(jié)一下如何修改tomcat配置,使可以用"http://域名.com"或"https://域名.com" 訪問(wèn)。

前期準(zhǔn)備

環(huán)境配置:

  • 騰訊云輕量應(yīng)用服務(wù)器: CentOS 8.2 64bit
  • 遠(yuǎn)程訪問(wèn)推薦使用圖形化界面(Mac 建議Royal TSX,Windows建議Mobaxterm)
  • Tomcat 10.0.4 ;
  • Java 1.8 ;

前提條件:

配置訪問(wèn)80端口即"http://域名.com"不需要證書(shū)
配置訪問(wèn)443端口即"https://域名.com" 需要SSL證書(shū),證書(shū)可以從你購(gòu)買(mǎi)服務(wù)器的運(yùn)營(yíng)商那里獲取

具體操作步驟

話不多說(shuō),直接進(jìn)入正題

編輯在 /usr/tomcat/*/conf 目錄(這個(gè)目錄是你安裝tomcat的目錄)下的 server.xml 文件。添加如下內(nèi)容:

// An highlighted block
<Connector port="443" protocol="HTTP/1.1" SSLEnabled="true"
? maxThreads="150" scheme="https" secure="true"
#證書(shū)保存的路徑
? keystoreFile="/usr/*/conf/域名.com.jks"?
#密鑰庫(kù)密碼
? keystorePass="******"
? clientAuth="false"/>

詳細(xì) server.xml 文件和一些參數(shù)解釋如下(可以直接復(fù)制過(guò)去):

<?xml version="1.0" encoding="UTF-8"?>
<!--
Server 根元素,創(chuàng)建?個(gè)Server實(shí)例,?標(biāo)簽有 Listener、GlobalNamingResources、Service
port:關(guān)閉服務(wù)器的監(jiān)聽(tīng)端?
shutdown:關(guān)閉服務(wù)器的指令字符串
-->
<Server port="8005" shutdown="SHUTDOWN">

? ? <!-- 創(chuàng)建 5 個(gè)監(jiān)聽(tīng)器 ?start -->
? ? <!-- 以?志形式輸出服務(wù)器 、操作系統(tǒng)、JVM的版本信息 -->
? ? <Listener className="org.apache.catalina.startup.VersionLoggerListener"/>
? ? <!-- 加載(服務(wù)器啟動(dòng)) 和 銷(xiāo)毀 (服務(wù)器停?) APR。 如果找不到APR庫(kù), 則會(huì)輸出?志, 并不影響 Tomcat啟動(dòng) -->
? ? <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on"/>
? ? <!-- 避免JRE內(nèi)存泄漏問(wèn)題 -->
? ? <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener"/>
? ? <!-- 加載(服務(wù)器啟動(dòng)) 和 銷(xiāo)毀(服務(wù)器停?) 全局命名服務(wù) -->
? ? <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"/>
? ? <!-- 在Context停?時(shí)重建 Executor 池中的線程, 以避免ThreadLocal 相關(guān)的內(nèi)存泄漏 -->
? ? <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener"/>
? ? <!-- 創(chuàng)建 5 個(gè)監(jiān)聽(tīng)器 ?end -->


? ? <!--
? ? ? ? ?定義服務(wù)器全局的JNDI 資源 命名服務(wù)
? ? -->
? ? <GlobalNamingResources>
? ? ? ? <Resource name="UserDatabase" auth="Container"
? ? ? ? ? ? ? ? ? type="org.apache.catalina.UserDatabase"
? ? ? ? ? ? ? ? ? description="User database that can be updated and saved"
? ? ? ? ? ? ? ? ? factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
? ? ? ? ? ? ? ? ? pathname="conf/tomcat-users.xml"/>
? ? </GlobalNamingResources>

? ? <!--
? ? ? ? ? ? 該標(biāo)簽?于創(chuàng)建 Service 實(shí)例,默認(rèn)使? org.apache.catalina.core.StandardService。
? ? ? ?默認(rèn)情況下,Tomcat 僅指定了Service 的名稱(chēng), 值為 "Catalina"。
? ? ? ?Service ?標(biāo)簽為 : Listener、Executor、Connector、Engine,
? ? ? ?其中:
? ? ? ?Listener ?于為Service添加?命周期監(jiān)聽(tīng)器,
? ? ? ?Executor ?于配置Service 共享線程池,(可以給多個(gè) Connector連接器使用)
? ? ? ?Connector ?于配置Service 包含的鏈接器,
? ? ? ?Engine ?于配置Service中鏈接器對(duì)應(yīng)的Servlet 容器引擎
? ? ?-->
? ? <Service name="Catalina">

? ? ? ? <!-- 默認(rèn)情況下,Service 并未添加共享線程池配置。 如果我們想添加?個(gè)線程池, 可以在<Executor> 下添加如下配置:
? ? ? ? ? ? ? name:線程池名稱(chēng),?于 Connector中指定
? ? ? ? ? ? ? namePrefix:所創(chuàng)建的每個(gè)線程的名稱(chēng)前綴,?個(gè)單獨(dú)的線程名稱(chēng)為:namePrefix+線程編號(hào)
? ? ? ? ? ? ? maxThreads:池中最?線程數(shù)
? ? ? ? ? ? ? minSpareThreads:活躍線程數(shù),也就是核?池線程數(shù),這些線程不會(huì)被銷(xiāo)毀,會(huì)?直存在
? ? ? ? ? ? ? maxIdleTime:線程空閑時(shí)間,超過(guò)該時(shí)間后,空閑線程會(huì)被銷(xiāo)毀,默認(rèn)值為6000(1分鐘),單位毫秒
? ? ? ? ? ? ? maxQueueSize:在被執(zhí)?前最?線程排隊(duì)數(shù)?,默認(rèn)為Int的最?值,也就是?義的?限。除?特殊情況,這個(gè)值 不需要更改,否則會(huì)有請(qǐng)求不會(huì)被處理的情況發(fā)?
? ? ? ? ? ? ? prestartminSpareThreads:?jiǎn)?dòng)線程池時(shí)是否啟動(dòng) minSpareThreads部分線程。默認(rèn)值為false,即不啟動(dòng)
? ? ? ? ? ? ? threadPriority:線程池中線程優(yōu)先級(jí),默認(rèn)值為5,值從1到10
? ? ? ? ? ? ? className:線程池實(shí)現(xiàn)類(lèi),未指定情況下,默認(rèn)實(shí)現(xiàn)類(lèi)為
? ? ? ? ? ? ? org.apache.catalina.core.StandardThreadExecutor。
? ? ? ? ? ? ? 如果想使??定義線程池?先需要實(shí)現(xiàn)org.apache.catalina.Executor接?-->
? ? ? ? <Executor name="tomcatThreadPool"
? ? ? ? ? ? ? ? ? namePrefix="catalina-exec-"
? ? ? ? ? ? ? ? ? maxThreads="200"
? ? ? ? ? ? ? ? ? minSpareThreads="100"
? ? ? ? ? ? ? ? ? maxIdleTime="60000"
? ? ? ? ? ? ? ? ? maxQueueSize="Integer.MAX_VALUE"
? ? ? ? ? ? ? ? ? prestartminSpareThreads="true"
? ? ? ? ? ? ? ? ? threadPriority="5"
? ? ? ? ? ? ? ? ? className="org.apache.catalina.core.StandardThreadExecutor"/>

? ? ? ? <!--
? ? ? ? ? ?Connector 標(biāo)簽?于創(chuàng)建鏈接器實(shí)例,默認(rèn)情況下,server.xml 配置了兩個(gè)鏈接器,?個(gè)?持HTTP協(xié)議,?個(gè)?持AJP協(xié)議
? ? ? ? ? ??多數(shù)情況下,我們并不需要新增鏈接器配置,只是根據(jù)需要對(duì)已有鏈接器進(jìn)?優(yōu)化
? ? ? ? ? ? ? ? port:
? ? ? ? ? ? ? ? ? ? ?端?號(hào),Connector ?于創(chuàng)建服務(wù)端Socket 并進(jìn)?監(jiān)聽(tīng), 以等待客戶端請(qǐng)求鏈接。如果該屬性設(shè)置為0, Tomcat將會(huì)隨機(jī)選擇?個(gè)可?的端?號(hào)給當(dāng)前Connector 使?
? ? ? ? ? ? ? ? protocol:
? ? ? ? ? ? ? ? ? ? ?當(dāng)前Connector ?持的訪問(wèn)協(xié)議。 默認(rèn)為 HTTP/1.1 , 并采??動(dòng)切換機(jī)制選擇?個(gè)基于 JAVA NIO 的鏈接器或者基于本地APR的鏈接器(根據(jù)本地是否含有Tomcat的本地庫(kù)判定)
? ? ? ? ? ? ? ? connectionTimeOut:
? ? ? ? ? ? ? ? ? ? ?Connector 接收鏈接后的等待超時(shí)時(shí)間, 單位為 毫秒。 -1 表示不超時(shí)。
? ? ? ? ? ? ? ? redirectPort:
? ? ? ? ? ? ? ? ? ? ?如果當(dāng)前接收的是一個(gè) https 的請(qǐng)求,那么tomcat 會(huì)將請(qǐng)求轉(zhuǎn)發(fā)到 redirectPort指定的端口。
? ? ? ? ? ? ? ? ? ? ?比如現(xiàn)在設(shè)定的:8443 端口當(dāng)前Connector 不?持SSL請(qǐng)求, 接收到了?個(gè)請(qǐng)求, 并且也符合security-constraint 約束,需要SSL傳輸,Catalina?動(dòng)將請(qǐng)求重定向到指定的端?。
? ? ? ? ? ? ? ? executor:
? ? ? ? ? ? ? ? ? ? ?指定共享線程池的名稱(chēng), 也可以通過(guò)maxThreads、minSpareThreads 等屬性配置內(nèi)部線程池。
? ? ? ? ? ? ? ? URIEncoding:
? ? ? ? ? ? ? ? ? ? ??于指定編碼URI的字符編碼, Tomcat8.x版本默認(rèn)的編碼為 UTF-8 , Tomcat7.x版本默認(rèn)為ISO8859-1
?-->
? ? ? ? <!--org.apache.coyote.http11.Http11NioProtocol, ?阻塞式 Java NIO 鏈接器,tomcat8配置nio會(huì)報(bào)錯(cuò),可能是已經(jīng)集成了nio的原因-->
? ? ? ? <Connector port="80"
? ? ? ? ? ? ? ? ? ?protocol="HTTP/1.1"
? ? ? ? ? ? ? ? ? ?connectionTimeout="20000"
? ? ? ? ? ? ? ? ? ?redirectPort="443"
? ? ? ? ? ? ? ? ? ?executor="tomcatThreadPool"
? ? ? ? ? ? ? ? ? ?URIEncoding="utf-8"/>


? ? ? ? <!-- certificateKeystoreFile 用于指定證書(shū)所在的目錄 ;
? ? ? ? ? ? ? ? ? ? ? ? certificateKeystorePassword 用于指定證書(shū)的密碼;type是使用的加密算法-->
? ? ? ? <Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol"
? ? ? ? ? ? ? ? ? ?maxThreads="150" schema="https" secure="true" SSLEnabled="true">
? ? ? ? ? ? <SSLHostConfig>
? ? ? ? ? ? ? ? <Certificate
? ? ? ? ? ? ? ? ? ? ? ? certificateKeystoreFile="conf/你的域名.cn.jks"
? ? ? ? ? ? ? ? ? ? ? ? certificateKeystorePassword="你申請(qǐng)證書(shū)時(shí)提交密碼"
? ? ? ? ? ? ? ? ? ? ? ? type="RSA" />
? ? ? ? ? ? </SSLHostConfig>
? ? ? ? </Connector>


? ? ? ? <!-- Define an AJP 1.3 Connector on port 8009 -->

? ? ? ? <Connector protocol="AJP/1.3"
? ? ? ? ? ? ? ? ? ?address="::1"
? ? ? ? ? ? ? ? ? ?port="8009"
? ? ? ? ? ? ? ? ? ?redirectPort="443" />


? ? ? ? <!--name: ?于指定Engine 的名稱(chēng), 默認(rèn)為Catalina
? ? ? ? ?defaultHost:默認(rèn)使?的虛擬主機(jī)名稱(chēng), 當(dāng)客戶端請(qǐng)求指向的主機(jī)?效時(shí), 將交由默認(rèn)的虛擬主機(jī)處
? ? ? ? ? ? ? 理, 默認(rèn)為localhost-->
? ? ? ? <Engine name="Catalina" defaultHost="localhost">
? ? ? ? ? ? <Realm className="org.apache.catalina.realm.LockOutRealm">
? ? ? ? ? ? ? ? <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
? ? ? ? ? ? ? ? ? ? ? ?resourceName="UserDatabase"/>
? ? ? ? ? ? </Realm>

? ? ? ? ? ? <!--Host 標(biāo)簽?于配置?個(gè)虛擬主機(jī)
? ? ? ? ? ? ? ? ? ? ? name:該host的名稱(chēng)
? ? ? ? ? ? ? ? ? ? ? appBase :指定 war包放置的路徑,可以是絕對(duì)路徑,也可以是相對(duì)路徑(相對(duì)路徑,相對(duì)的就是tomcat的安裝目錄
? ? ? ? ? ? ? ? ? ? ? unpackWARs :是否自動(dòng)解壓 war包
? ? ? ? ? ? ? ? ? ? ? autoDeploy:是否自動(dòng)部署 (有點(diǎn)熱部署的效果)-->
? ? ? ? ? ? <Host name="localhost" appBase="webapps"
? ? ? ? ? ? ? ? ? unpackWARs="true" autoDeploy="true">

? ? ? ? ? ? ? ? <!-- 記錄當(dāng)前 host 處理請(qǐng)求的日志 -->
? ? ? ? ? ? ? ? <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"/>
? ? ? ? ? ? </Host>
? ? ? ? </Engine>
? ? </Service>
</Server>

其中有一個(gè)需要注意的地方就是,證書(shū)的位置certificateKeystoreFile可以填絕對(duì)路徑,也可以填相對(duì)路徑。如果填寫(xiě)的是相對(duì)路徑,那地址應(yīng)該是conf的上一層目錄(如果你把jks文件放在server.xml的同級(jí)目錄下,此處應(yīng)該填"conf/域名.jks"),我因?yàn)檫@個(gè)踩過(guò)一些坑。

HTTP 自動(dòng)跳轉(zhuǎn) HTTPS 的安全配置(可選)

如果您需要將 HTTP 請(qǐng)求自動(dòng)重定向到 HTTPS。您可以通過(guò)以下操作設(shè)置:

編輯 /usr/*/conf 目錄下的 web.xml 文件,找到 標(biāo)簽。
請(qǐng)?jiān)诮Y(jié)束標(biāo)簽 后面換行,并添加以下內(nèi)容:

?? ?<login-config>
? ? <!-- Authorization setting for SSL -->
? ? <auth-method>CLIENT-CERT</auth-method>
? ? <realm-name>Client Cert Users-only Area</realm-name>
? ? </login-config>
? ??
? ? <security-constraint>
? ? <!-- Authorization setting for SSL -->
? ? <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>

如何檢驗(yàn)配置是否成功

修改server.xml文件后,停止tomcat服務(wù),在/usr/tomcat/*/bin目錄下輸入:

./shutdown.sh

然后以下命令檢查配置文件是否有誤,如果有報(bào)錯(cuò)信息就在網(wǎng)上搜索一下或者自己解決就好了:

./configtest.sh

以上步驟沒(méi)有問(wèn)題以后,輸入以下命令就可以使用"https://域名.com"訪問(wèn)tomcat了。

./startup.sh

網(wǎng)上的教程大部分都只說(shuō)./shutdown.sh和./startup.sh兩個(gè)命令重啟tomcat,但是有時(shí)候重啟時(shí)有一些報(bào)錯(cuò)信息并不顯示,就是訪問(wèn)80端口沒(méi)有問(wèn)題,但是443端口配置有錯(cuò)無(wú)法訪問(wèn)。

還要注意的是,./configtest.sh命令一定要在./shutdown.sh停止tomcat之后執(zhí)行,要不然會(huì)出現(xiàn)端口已被占用的錯(cuò)誤。

結(jié)語(yǔ)

最近在忙最近的畢業(yè)設(shè)計(jì),最近做后端接口和最近寫(xiě)網(wǎng)頁(yè),然后在騰訊云上面買(mǎi)了一臺(tái)服務(wù)器還有一個(gè)域名(總共花了80塊錢(qián),租了一年)。花了半個(gè)月終于備案完成,于是迫不及待的把自己寫(xiě)的網(wǎng)頁(yè)傳上去。其中配置docker、tomcat、mysql、rabbitmq、redis都遇到一些坑。希望可以幫到大家吧。

[1]: 騰訊云Tomcat 服務(wù)器 SSL 證書(shū)安裝部署(JKS 格式)

到此這篇關(guān)于Tomcat10配置端口號(hào)為443(使用https訪問(wèn))的文章就介紹到這了,更多相關(guān)Tomcat10配置端口號(hào)為443內(nèi)容請(qǐng)搜索以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持!

標(biāo)簽: Tomcat
主站蜘蛛池模板: 中国人免费观看高清在线观看二区 | 欧美videos娇小 | 国产50页| 亚洲综合网在线观看 | 久草欧美 | 国产三级精品91三级在专区 | 久久国产精品成人免费 | 久久欧美精品欧美九久欧美 | 国产一区欧美二区 | 青青草国产免费国产是公开 | 日本免费一区二区三区视频 | 成人午夜大片 | 国产亚洲精品免费 | 午夜看片a福利在线 | 波多野结衣手机视频一区 | hd欧美xxx欧美极品hd | 亚洲国产高清视频在线观看 | 99国产高清久久久久久网站 | 国内一级特黄女人精品片 | 九九精品免费 | 午夜免费福利网站 | 六月丁香婷婷天天在线 | 看全色黄大色黄大片女图片 | 久久一本 | 国产91精品一区二区麻豆亚洲 | 女人张开腿让男人捅的视频 | 欧美a欧美1级 | 精品欧美一区二区精品久久 | 一级毛片免费观看不卡视频 | 欧美一级二级毛片视频 | 精品成人久久 | 久草视频中文在线 | 日韩免费精品一级毛片 | 欧美一级在线观看播放 | 久久久精品影院 | 日韩精品一区二区三区在线观看 | 久久成人综合网 | 一级做a爰性色毛片 | 欧美人成片免费看视频不卡 | 狠狠色综合色综合网站久久 | 日本一级毛片在线看 |