Файл server.yml

Этот файл содержит настройки подключения к серверу. Он находится:

  • ОС Windows: \config\server.yml;
  • ОС Linux: /config/server.yml.
Атрибут endpoints — список конечных точек сервера, которые отличаются протоколом: HTTP или HTTPS. Сервер может иметь следующие варианты настройки:
  • одна конечная точка HTTP;
  • одна конечная точка HTTPS;
  • две конечные точки: HTTPS и HTTP, выполняющая переадресацию на HTTPS.

Атрибут web-sessions-limit — максимальное количество веб-сессий в сервере. По умолчанию 20 000.

Атрибуты конечных точек (endpoints):
protocol
Протокол работы, обязательный атрибут, допустимые значения: http или https
address
Адрес сокета для конечной точки, в формате host:port, обязательный атрибут. В качестве host может использоваться маска. При использовании ipv6 адрес должен заключаться в квадратные скобки
threads
Настройка потоков, выделяемых сервером для обслуживания конечной точки, необязательная секция
acceptor-thread-count
Число потоков, осуществляющих подключение новых клиентов (значение по умолчанию = 1)
selector-thread-count
Число потоков, осуществляющих прием сетевых запросов (значение по умолчанию = 10)
worker-thread-count
Число потоков, осуществляющих обработку запросов для установленных соединений (значение по умолчанию равно количеству ядер, которое определяет java.lang.Runtime#availableProcessors). Для реальной эксплуатации рекомендуется устанавливать больше. Слишком больших значений (> 500) рекомендуется избегать, так как сильно возрастают накладные расходы на переключение потоков и блокировки
Для конечной точки HTTP можно указать следующие атрибуты:
redirect
Адрес в формате host:port для переадресации на HTTPS. Если адрес не указан и в настройках сервера заданы конечные точки для двух протоколов, то адрес определяется по адресу сокета конечной точки HTTPS. Адрес необходимо указать, если сервер работает за reverse proxy
Для HTTPS-конечной точки можно указать следующие атрибуты:
server-certificate-store
Имя хранилища серверного сертификата (из security.yml). Для исключения путаницы такое хранилище должно содержать только один сертификат сервера. Если в хранилище более одного сертификата с приватным ключом, то будет использован первый
server-certificate-password
Необязательный. Пароль для доступа к сертификату сервера (приватному ключу). Если пароль не задан, то будет использоваться пароль от хранилища сертификатов

Пример настроек сервера:

server:
  endpoints:
    - address: 127.0.0.1:9090
      protocol: http
      threads:
        worker-thread-count: 32