如何配置Spring Boot Tomcat
1.概述
Spring Boot Web應用程式預設包含預配置的嵌入式Web伺服器。但在某些情況下,我們要修改預設配置以滿足自定義要求。
在本教程中,我們將介紹通過application.properties檔案配置Tomcat嵌入式伺服器的一些常見用例。
2.常見的嵌入式Tomcat配置
2.1. 伺服器地址和埠
我們希望更改的最常見配置是埠號:
server.port = 80
如果我們不提供server.port 引數,則預設設定為8080。
在某些情況下,我們可能希望設定伺服器應繫結的網路地址。換句話說,我們定義一個伺服器將監聽的IP地址:
server.address = my_custom_ip
預設情況下,該值設定為0.0.0.0,允許通過所有IPv4地址進行連線。設定另一個值,例如localhost -127.0.0.1 - 將使伺服器更具選擇性。
2.2. 錯誤處理
預設情況下,Spring Boot提供標準錯誤網頁。此頁面稱為Whitelabel。它預設啟用,但如果我們不想顯示任何錯誤資訊,我們可以禁用它:
server.error.whitelabel.enabled = false
Whitelabel
的預設路徑是*/error*。可以通過設定server.error.path引數來自定義它:
server.error.path = /user-error
還可以設定屬性,以確定顯示有關錯誤的資訊。例如,我們可以包含錯誤訊息和堆疊跟蹤:
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中處理錯誤的更多資訊。
2.3. 伺服器連線
當在低資源容器上執行時,我們可能希望減少CPU和記憶體負載。一種方法是限制應用程式可以同時處理的請求數量。相反,我們可以增加此值以使用更多可用資源來獲得更好的效能。
在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
2.4. SSL
要在我們的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。
2.5. Tomcat伺服器訪問日誌
在嘗試統計頁面命中數,使用者會話活動等時,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
3. 結論
在本教程中,我們學習了一些常見的Tomcat嵌入式伺服器配置。要檢視更多可能的配置,請訪問官方頁面: Spring Boot application properties docs。
與往常一樣,這些示例的原始碼可以在GitHub上找到。
原文連結:www.baeldung.com/spring-boot…
作者:baeldung
譯者:Leesen