Справка Business Studio
Переход на сайт нейросети Perplexity AI для поиска информации о Business Studio. Подробнее о возможности см. по ссылке

Содержание справки

Создание DNS-имен и сертификатов

Необходимо определить доменные имена для сервисов и, при наличии DNS-сервера в сети, зарегистрировать их в его конфигурации. Для указанных ниже сервисов требуется заранее создать доменные имена. Также необходимо выпустить SSL-сертификаты для всех сервисов, за исключением bs-license-server:

  • bs-backend (основной веб-портал)
  • keycloak (сервис авторизации)
  • onlyoffice-documentserver (редактор документов)
  • bs-license-server (сервер лицензий — сертификат не требуется)

Готовые сертификаты необходимо разместить в каталоге /DockerCompose/Certificates/https (в соответствующие поддиректории для каждого сервиса).

Для корректного разрешения имен внутри Docker-контейнера необходимо добавить адрес вашего корпоративного DNS-сервера в файл /etc/docker/daemon.json. Пример конфигурации представлен ниже:

{
  "dns": ["10.1.2.3"]
}

После внесения изменений перезапустите Docker командой ниже, чтобы новые настройки вступили в силу:

sudo systemctl restart docker

Далее укажите доменные имена и пути к сертификатам в конфигурационном файле .env.

Примечание: пример создания сертификатов можно посмотреть в подразделе: Создание локального центра сертификации (CA) и выпуск TLS-сертификата.

Внимание! В файле docker-compose.yml присутствует переменная: ASPNETCORE_Kestrel__Certificates__Default__Password="***"

Данная переменная должна содержать пароль от сертификата, который используется сервисом bs-backend. Возможны два варианта:

1. Сертификат защищён паролем. В данном случае необходимо:

  • использовать пароль, который был указан при создании сертификата;
  • прописать его в переменную: ASPNETCORE_Kestrel__Certificates__Default__Password="ваш_пароль"

Если пароль указан неверно — контейнер bs-backend не запустится, и в логах появится ошибка загрузки сертификата.

2. Сертификат без пароля:

Если сертификат создан без пароля, необходимо: удалить строку полностью из docker-compose.yml, либо закомментировать ее.

Иначе будет ожидаться пароль и контейнер может завершиться с ошибкой при загрузке сертификата.

Для автоматической генерации сертификатов можно воспользоваться скриптом generate_cert.sh, предварительно заполнив названия сертификатов в .env и сделав файл для генерации сертификатов исполняемым при помощи команды: sudo chmod +x generate_cert.sh

Если корпоративный DNS-сервер отсутствует, доменные имена необходимо прописать вручную в файле /DockerCompose/hosts/hosts.

Пример заполнения:

192.168.1.39 web.local
192.168.1.39 kc.local
192.168.1.39 oo.local

Внимание! Пропустите этот шаг, если вы уже настроили DNS через daemon.json. Ручное заполнение hosts — резервный метод, который используется только при отсутствии основного DNS-сервера в качестве крайней меры.