1. 程式人生 > >如何配置Spring Boot Tomcat

如何配置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