В версии 2025.3.1 мы реализовали функционал запуска Stimulsoft BI Server в Docker-контейнере. В этой статье мы расскажем о том, как настроить передачу данных по HTTPS-протоколу.
HTTPS-сертификат
HTTPS-сертификат (SSL/TLS) обеспечивает защищенное соединение между клиентом и сервером, подтверждает подлинность веб-сайта и шифрует передаваемые данные. В .NET, для разработки можно использовать локальный самоподписанный сертификат или купленный у центра сертификации. Сертификат необходим для безопасности (защита данных), доверия пользователей (значок замка в web-браузере) и выполнения требований стандартов. В разработке допустимо использовать локальные сертификаты, которые можно получить бесплатно.Для генерации локального .pfx-сертификата в .NET достаточно выполнить команду:
terminal
dotnet dev-certs https -ep d:/aspnetapp.pfx -p 123456
В этой команде указывается путь сохранения сертификата и пароль. Обратите внимание!Такой сертификат подходит для разработки и тестирования, однако, в случае общего использования сертификат необходимо приобрести у одного из поставщиков сертификатов.
Подключение сертификата
Необходимо перейти в папку с Docker-контейнером и создать папку stimulsoft-server. Далее нужно скопировать туда сгенерированный сертификат.После этого следует отредактировать файл docker-compose.yml, добавив параметры для работы с HTTPS. Указываются порт для HTTPS-запросов, внутренние URL-адреса (для продакшена вместо * рекомендуется указывать реальные домены или IP-адреса), а также путь к сертификату и его пароль:
docker-compose.yml
...
ASPNETCORE_HTTPS_PORTS: 8081
Urls: "https://*:8081;http://*:8080"
ASPNETCORE_Kestrel__Certificates__Default__Path: "/var/lib/stimulsoft-server/aspnetapp.pfx"
ASPNETCORE_Kestrel__Certificates__Default__Password: 123456
...
Если директория с файлами сервера еще не добавлена, это можно сделать в docker-compose.yml с помощью секции volumes:docker-compose.yml
...
volumes:
- ./stimulsoft-server:/var/lib/stimulsoft-server
...
Запускаем контейнер при помощи следующей команды: terminal
docker-compose up
Теперь Stimulsoft BI Server будет доступен по HTTPS на порту 8081 по адресу https://localhost:8081. Для HTTP-протокола сервер доступен по адресу http://localhost:8080. Файл docker-compose.yml
Приведем полный листинг содержимого:docker-compose.yml
services:
server:
image: stimulsoft/server:dev
ports:
- 8080:8080
- 8081:8081
volumes:
- ./stimulsoft-server:/var/lib/stimulsoft-server
environment:
ASPNETCORE_HTTP_PORTS: 8080
ASPNETCORE_HTTPS_PORTS: 8081
Urls: "https://*:8081;http://*:8080"
ASPNETCORE_Kestrel__Certificates__Default__Path: "/var/lib/stimulsoft-server/aspnetapp.pfx"
ASPNETCORE_Kestrel__Certificates__Default__Password: 123456
Storage__DatabaseType: "MySql"
Storage__MySqlConnectionString: "Server=mysql; port=3306; Database=server; UserId=root; Pwd=root;"
mysql:
image: mysql:8.0
ports:
- 3306:3306
volumes:
- './mysql:/var/lib/mysql'
environment:
MYSQL_ROOT_PASSWORD: "root"
MYSQL_DATABASE: "server"
Таким образом, настройка HTTPS в Docker-контейнере для Stimulsoft BI Server позволяет обеспечить безопасное соединение с сервером. Для тестирования можно использовать локально созданные сертификаты, а для использования в готовом приложении требуется полноценный сертификат от доверенного центра сертификации. Следуя приведенной инструкции, можно быстро организовать защищенный доступ к вашему серверу. Настройки портов, название сертификата, пароль, URL-адреса указаны для примера, при необходимости их можно заменить на те, которые будут использоваться в вашем случае.