Как да конфигурирам Spring Boot Tomcat

1. Общ преглед

Уеб приложенията Spring Boot включват предварително конфигуриран, вграден уеб сървър по подразбиране. В някои ситуации обаче бихме искали да модифицираме конфигурацията по подразбиране, за да отговаря на потребителските изисквания.

В този урок ще разгледаме няколко често използвани случая за конфигуриране на вградения сървър на Tomcat чрез файла application.properties .

2. Общи вградени конфигурации на Tomcat

2.1. Адрес и порт на сървъра

Най-често срещаната конфигурация, която може да пожелаем да променим, е номерът на порта :

server.port=80

Ако не предоставим параметъра server.port , той по подразбиране е зададен на 8080 .

В някои случаи може да поискаме да зададем etwork адрес, към който сървърът да се свързва. С други думи, ние дефинираме 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

Нашите уроци Обработка на съобщения за изключения за REST и Персонализиране на страницата за грешка на Whitelabel обясняват повече за обработката на грешки в Spring Boot.

2.3. Свързващи връзки

Когато работим на контейнер с нисък ресурс, бихме искали да намалим натоварването на процесора и паметта. Един от начините да направите това е да ограничите броя на едновременните заявки, които могат да бъдат обработени от нашето приложение. И обратно, можем да увеличим тази стойност, за да използваме повече налични ресурси за по-добра производителност.

В Spring Boot можем да определим максималното количество работни нишки на Tomcat:

server.tomcat.max-threads=200

Когато конфигурирате уеб сървър, може също да е полезно да зададете времето за изчакване на връзката на сървъра . Това представлява максималното време, през което сървърът ще чака клиентът да направи заявката си след свързване, преди връзката да бъде затворена:

server.connection-timeout=5s

Също така можем да определим максималния размер на заглавката на заявката:

server.max-http-header-size=8KB

Максималният размер на тялото на заявката:

server.tomcat.max-swallow-size=2MB

Или максимален размер на цялата заявка за публикация:

server.tomcat.max-http-post-size=2MB

2.4. SSL

За да активираме поддръжката на SSL в нашето приложение Spring Boot, трябва да зададем свойството 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, като използвате самоподписан сертификат в статията за пролетното зареждане.

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.

Както винаги, изходният код за тези примери е достъпен в GitHub.