Tomcat 配置http請求自動轉為https請求並解決80端口占用問題
阿新 • • 發佈:2018-11-01
第一步.配置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 ,出於謹慎的態度多方查閱資料,該程序除非電腦要作為一個站點的釋出,否則可以關閉,並且設定屬性為禁用,如圖所示