Spring Boot Web應用程序默認包含預配置的嵌入式Web服務器。但在某些狀況下,咱們要修改默認配置以知足自定義要求。html
在本教程中,咱們將介紹經過application.properties文件配置Tomcat嵌入式服務器的一些常見用例。git
咱們但願更改的最多見配置是端口號:github
server.port = 80
複製代碼
若是咱們不提供server.port 參數,則默認設置爲8080。spring
在某些狀況下,咱們可能但願設置服務器應綁定的網絡地址。換句話說,咱們定義一個服務器將監聽的IP地址:tomcat
server.address = my_custom_ip
複製代碼
默認狀況下,該值設置爲0.0.0.0,容許經過全部IPv4地址進行鏈接。設置另外一個值,例如localhost - 127.0.0.1 - 將使服務器更具選擇性。服務器
默認狀況下,Spring Boot提供標準錯誤網頁。此頁面稱爲Whitelabel。它默認啓用,但若是咱們不想顯示任何錯誤信息,咱們能夠禁用它:網絡
server.error.whitelabel.enabled = false
複製代碼
Whitelabel
的默認路徑是*/error*。能夠經過設置server.error.path參數來自定義它:server.error.path = /user-error
複製代碼
還能夠設置屬性,以肯定顯示有關錯誤的信息。例如,咱們能夠包含錯誤消息和堆棧跟蹤:app
server.error.include-exception= true
server.error.include-stacktrace= always
複製代碼
咱們的教程Exception Message Handling for REST和[Customize Whitelabel Error Page](www.baeldung.com/ spring-boot-custom-error-page) 詳細解釋有關Spring Boot中處理錯誤的更多信息。spring-boot
當在低資源容器上運行時,咱們可能但願減小CPU和內存負載。一種方法是限制應用程序能夠同時處理的請求數量。相反,咱們能夠增長此值以使用更多可用資源來得到更好的性能。post
在Spring Boot
中,咱們能夠定義Tomcat
工做線程的最大數量:
server.tomcat.max-threads= 200
複製代碼
配置Web服務器時,設置服務器鏈接超時也可能頗有用。這表示服務器在鏈接關閉以前等待客戶端發出請求的最長時間:
server.connection-timeout= 5s
複製代碼
咱們還能夠定義請求頭的最大大小:
server.max-http-header-size= 8KB
複製代碼
請求正文的最大大小:
server.tomcat.max-swallow-size= 2MB
複製代碼
或者整個POST請求的最大大小:
server.tomcat.max-http-post-size= 2MB
複製代碼
要在咱們的Spring Boot應用程序中啓用SSL支持,咱們須要將server.ssl.enabled屬性設置爲true,並定義SSL協議:
server.ssl.enabled = true
server.ssl.protocol = TLS
複製代碼
咱們要配置保存證書密鑰庫的密碼,類型和路徑:
server.ssl.key-store-password=my_password
server.ssl.key-store-type=keystore_type
server.ssl.key-store=keystore-path
複製代碼
咱們還必須定義標識密鑰庫中密鑰的別名:
server.ssl.key-alias=tomcat
複製代碼
有關SSL配置的更多信息,請訪問:HTTPS using self-signed certificate in Spring Boot。
在嘗試統計頁面命中數,用戶會話活動等時,Tomcat訪問日誌很是有用。
要啓用訪問日誌,只需設置:
server.tomcat.accesslog.enabled = true
複製代碼
咱們還應該配置其餘參數,例如附加到日誌文件的目錄名,前綴,後綴和日期格式:
server.tomcat.accesslog.directory=logs
server.tomcat.accesslog.file-date-format=yyyy-MM-dd
server.tomcat.accesslog.prefix=access_log
server.tomcat.accesslog.suffix=.log
複製代碼
在本教程中,咱們學習了一些常見的Tomcat嵌入式服務器配置。要查看更多可能的配置,請訪問官方頁面: Spring Boot application properties docs。
與往常同樣,這些示例的源代碼能夠在GitHub上找到。
做者:baeldung
譯者:Leesen