Рубрики
Без рубрики

Как настроить Spring Boot Tomcat

Узнайте, как перенастроить встроенный сервер Tomcat в Spring Boot для некоторых распространенных случаев использования.

Автор оригинала: baeldung.

1. Обзор

Веб-приложения Spring Boot по умолчанию включают предварительно настроенный встроенный веб-сервер. Однако в некоторых ситуациях мы хотели бы изменить конфигурацию по умолчанию в соответствии с пользовательскими требованиями.

В этом руководстве мы рассмотрим несколько распространенных вариантов использования для настройки встроенного сервера Tomcat с помощью файла application.properties .

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 предоставляет стандартную веб-страницу с ошибкой . Эта страница называется Белая метка . Он включен по умолчанию, но если мы не хотим отображать информацию об ошибках, мы можем отключить его:

server.error.whitelabel.enabled=false

Путь по умолчанию к Белой метке – это /ошибка . Мы можем настроить его, установив параметр server.error.path :

server.error.path=/user-error

Мы также можем задать свойства, которые будут определять, какая информация об ошибке будет представлена. Например, мы можем включить сообщение об ошибке и трассировку стека:

server.error.include-exception=true
server.error.include-stacktrace=always

Наши учебники по обработке сообщений об исключениях для REST и настройка страницы ошибок с белой меткой объясняют больше об обработке ошибок при весенней загрузке.

2.3. Подключения к серверу

При работе в контейнере с низким ресурсом мы могли бы уменьшить нагрузку на процессор и память. Один из способов сделать это-ограничить количество одновременных запросов, которые могут обрабатываться нашим приложением. И наоборот, мы можем увеличить это значение, чтобы использовать больше доступных ресурсов для повышения производительности.

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

server.tomcat.threads.max=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 с использованием самозаверяющего сертификата в статье 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 .