Для использования защищенных протоколов https ssl, необходимо сгенерировать и сконвертировать сертификаты для вашего домена.
Для создания и конвертации сертификатов необходимо установить openssl. Детальная инструкция по установке доступна по ссылке https://wiki.openssl.org/index.php/Binaries.
На первом шаге необходимо сгенерировать key файл. Для этого необходимо выполнить команду в терминале:
openssl genrsa -out wildcard.[домен].key 2048
Затем необходимо создать файл cnf с конфигурационной информацией следующего содержания:
[ req ] default_bits = 2048 distinguished_name = req_distinguished_name req_extensions = req_ext prompt = no [ req_distinguished_name ] C = RU ST = Russia L = Moscow O = [организация] CN =[домен] [ req_ext ] subjectAltName = @alt_names extendedKeyUsage = serverAuth, clientAuth basicConstraints=CA:TRUE [alt_names] DNS.1 = keycloak.[домен] DNS.2 = middleware.[домен] DNS.3 = client.[домен] DNS.4 = mes-runtime.[домен] DNS.5 = exesched.[домен] DNS.6 = report.[домен] DNS.7 = *.[домен]
После чего с использование key и cnf файла сгенерировать crt файл сертификата используя команду:
openssl req -x509 -nodes -newkey rsa:4096 -extensions req_ext -keyout wildcard.[домен].key -out wildcard.[домен].crt -days [срок действия сертификата в днях] -config wildcard.[домен].cnf
На основании crt файла необходимо сгенерировать pfx сертификат.
Для конвертации сертификатов в pfx необходимо воспользоваться следующей командой:
openssl pkcs12 -export -out wildcard.[домен].pfx -inkey wildcard.[домен].key -in wildcard.[домен].crt
После выполнения команды openssl запросит ввести новый пароль и подтвердить его, после чего, будет создан сертификат в формате pfx.
Для корректного применения сертификатов необходимо указать на них ссылки для каждого из приложений.
При установке в Docker необходимо внести правки в docker-compose.yaml в строках, указав новый crt сертификат и новый pfx сертификат
source: /root/dev/crt/wildcard.[домен].pfx ... source: /root/dev/crt/wildcard.[домен].crt
Для pfx сертификатов, необходимо изменить пароль в следующих строках:
ASPNETCORE_Kestrel__Certificates__Default__Password: "пароль указанный при генерации pfx сертификата"