По умолчанию Headwind MDM генерирует бесплатные HTTPS сертификаты с помощью сервиса Let's Encrypt.
Чтобы использовать коммерческие сертификаты, вам необходимо иметь следующие файлы в формате PEM (base64):
- приватный ключ
- сертификат домена
- цепочка доверенных сертификатов
Дальнейшие действия зависят от того, как у вас установлен Headwind MDM:
Community или Premium на Ubuntu Linux
В случае стандартной установки Headwind MDM через скрипт-инсталлятор, для замены сертификатов нужно выполнить следующее:
1. Сформировать JKS файл из приватного ключа, сертификата домена и цепочки доверенных сертификатов
2. Поместить его в директорию, доступную Tomcat (в поддиректорию /var/lib/tomcat9/, например /var/lib/tomcat9/ssl/your-domain.jks).
3. Отредактировать файл /var/lib/tomcat9/conf/server.xml - найти коннектор Http11NioProtocol и заменить путь к JKS файлу.
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="150" SSLEnabled="true" defaultSSLHostConfigName="your-domain.com">
<SSLHostConfig hostName="your-domain.com">
<Certificate certificateKeystoreFile="/var/lib/tomcat9/ssl/your-domain.jks" type="RSA" certificateKeystorePassword="******" />
</SSLHostConfig>
</Connector>
4. Отключить в crontab скрипт обновления LetsEncrypt скриптов. Для редактирования crontab используйте команду
crontab -e
Enterprise или Premium с модулем удаленного доступа
Модуль удаленного доступа Headwind Remote работает как прокси для Headwind MDM, поэтому сертификаты нужно подключать именно в Headwind Remote.
1. Объедините файлы сертификата домена и цепочки доверенных сертификатов в файл "полной цепочки" с помощью утилиты cat.
cat your-domain.crt ca-chain.crt > full-chain.crt
Проследите, чтобы границы сертификатов не "склеились", а находились каждая на своей строке.
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
2. Разместите приватный ключ и полную цепочку в директории /opt/hremote/ssl, и подправьте файл config.yaml:
is_certbot_enabled: false
custom_ssl_cert: /opt/hremote/ssl/full-chain.crt
custom_ssl_key: /opt/hremote/ssl/your-domain-key.pem
3. Перезапустите сервис Headwind Remote.
Headwind MDM в Docker контейнере
1. Отключите (закомментируйте) сервис certbot в файле docker-compose.yaml
2. Поместите доменный сертификат, цепочку сертификатов, полную цепочку (см. выше) и приватный ключ в директорию volumes/letsencrypt/live/your-domain.com под следующими именами: cert.pem, chain.pem, fullchain.pem, privkey.pem. Если файлы существуют (LetsEncrypt создает там линки) - перезапишите их.
3. Перезапустите контейнер.