springBoot server.port=-1的含義說明
springBoot server.port=-1的含義
今天遇到這種新奇的寫法,項目是可以正常啟動的。
然而http的端口有范圍:1~65535。-1是訪問不了的
而且只要是負數(shù),最終啟動日志打印的都是
Tomcat started on port(s): -1 (http) with context path ''
那springBoot放開負一端口的含義是什么,直接到官方文檔中找答案:
明確說明了,放開-1是為了:完全關閉HTTP端點,但仍創(chuàng)建一個WebApplicationContext
還發(fā)現(xiàn)了另外一個好玩的配置:server.port=0
含義是:
掃描可用端口(使用OS本機來防止沖突)
也就是說,配置了server.port=0,項目啟動時會自動掃描可用端口,然后啟動=w=
Springboot的server.port和server.http.port
需求
最近springboot項目為了安全啟用了https,但是項目中還寫了接口供其他程序調(diào)用,這個接口必須是http的。研究發(fā)現(xiàn)原來一個springboot項目是可以有一個http端口和一個https端口的。
正文
配置文件如下:
#http port server.http.port=1234 #https port server.port=1233
項目啟動的時候使用的是server.port端口。
配置的http端口要想使用需要寫下面這樣一個配置類:
import org.apache.catalina.connector.Connector; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory; import org.springframework.boot.web.servlet.server.ServletWebServerFactory; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration public class HttpsConfig { @Value("${server.http.port}") private Integer httpPort; @Bean public ServletWebServerFactory serverFactory() { TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory(); tomcat.addAdditionalTomcatConnectors(createStandardConnector()); return tomcat; } /** * 配置http * @return */ private Connector createStandardConnector() { Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol"); connector.setPort(httpPort); return connector; } }
之后寫接口的時候便可以使用這個端口了。
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Java工程中使用Mybatis (工程結(jié)合Mybatis,數(shù)據(jù)結(jié)合Swing使用))
這篇文章主要介紹了Java工程中使用Mybatis (工程結(jié)合Mybatis,數(shù)據(jù)可以結(jié)合Swing使用),需要的朋友可以參考下2017-04-04Mybatis CachingExecutor二級緩存使用示例詳解
這篇文章主要介紹了?Mybatis的CachingExecutor與二級緩存使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-09-09Java數(shù)據(jù)類型轉(zhuǎn)換實例解析
這篇文章主要介紹了Java數(shù)據(jù)類型轉(zhuǎn)換實例解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2019-11-11解決Druid動態(tài)數(shù)據(jù)源配置重復刷錯誤日志的問題
使用druid數(shù)據(jù)庫連接池實現(xiàn)動態(tài)的配置數(shù)據(jù)源功能,在配置過程中出現(xiàn)一個問題既然是用戶自己配置的數(shù)據(jù)源,就無法避免輸入錯誤,連接失敗等情況,關于這個問題怎么處理呢,今天小編通過本文給大家詳細說明下,感興趣的朋友一起看看吧2021-05-05Java單元測試Powermockito和Mockito使用總結(jié)
公司單元測試框架選用了Junit 4.12,Mock框架選用了Mockito和PowerMock,本文主要介紹了Java單元測試Powermockito和Mockito使用總結(jié),感興趣的可以了解一下2021-09-09Java應用啟動停止重啟Shell腳本模板server.sh
這篇文章主要為大家介紹了Java應用啟動、停止、重啟Shell腳本模板server.sh,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-08-08