Перейти к основному содержимому

Файл 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