Для использования защищенных протоколов 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 сертификата"


  • No labels