В версии 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-адреса указаны для примера, при необходимости их можно заменить на те, которые будут использоваться в вашем случае.
Используя этот сайт, вы соглашаетесь на использование файлов Cookie для аналитики и персонализированного контента. Файлы Cookie хранят полезную информацию на вашем компьютере, чтобы помочь нам повысить эффективность и удобство использования. Для получения дополнительной информации, пожалуйста, прочтите Конфиденциальность и Использование Cookie.