1. 程式人生 > >Tomcat 配置http請求自動轉為https請求並解決80端口占用問題

Tomcat 配置http請求自動轉為https請求並解決80端口占用問題

第一步.配置Tomcat的https請求,我的這篇部落格記錄了一下相關操作:https://blog.csdn.net/LJX_ahut/article/details/82153895

 

第二步 修改預設埠

由於http協議的預設埠是80(Tomcat預設配置是8080),https協議的預設埠是443(Tomcat預設配置是8443),所以為了方便使用,修改埠號之後在訪問是就不需要再輸入埠號了

<!--將 預設的redirectPort = "8443" 改為 443,port改為80 ,使用http訪問時,將會重定向至443埠-->
<Connector connectionTimeout="20000" port="80" protocol="HTTP/1.1" redirectPort="443"/>

<!--將 預設埠port配置改為 443->
<Connector SSLEnabled="true" clientAuth="false" connectionTimeout="20000" keystoreFile="E:/lujx/Refs/apache-tomcat-8.0.53/ssl/tomcat.keystore" keystorePass="123456" maxThreads="150" port="443" protocol="HTTP/1.1" scheme="https" secure="true" sslProtocol="TLS"/>

第三步 ·修改web.xml檔案配置

修改與server.xml的同級檔案web.xml,在<web-app>標籤下新增字標籤(即與<welcome-file-list>同一級子標籤),具體內如如下

<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>

可能遇到的問題:

1.Tomcat 啟動失敗,錯誤資訊是80埠被佔用

解決方法:

a.首先排除多個tomcat容器使用同一個埠的錯誤,若是需要同時使用多個tomcat,則將每個tomcat配置不同的埠號

b.其他非系統程序的端口占用,win+r組合鍵,鍵入cmd進入dos介面,輸入命令 netstat -ano 檢視系統程序資訊,找到佔用該埠的程序的pid,使用命令 taskkill -f -pid 程序PID  殺掉程序後重啟tomcat即可

c.系統程序佔用埠

同樣的dos命令,找到一個佔用80埠的系統程序,但是在dos介面中沒有許可權關閉該程序,如下圖所示

經過一番查詢,得知,該程序服務名為 World Wild Web Publishing Service  ,出於謹慎的態度多方查閱資料,該程序除非電腦要作為一個站點的釋出,否則可以關閉,並且設定屬性為禁用,如圖所示