Создаем конфигурационный файл openssl.conf примерного содержания
[req]Сертификат создаем командой
default_bits = 4096 # Длинна ключа в битах.
default_keyfile = cert.key # Имя файла, в который будет записан закрытый ключ.
encrypt_key = no # Нам не нужно шифровать закрытый ключ паролем.
default_md = sha512 # Алгоритм хеша.
x509_extensions = v3_req # Включаем расширение V3.
prompt = no # Не нужно запрашивать данные у пользователя, мы всё пропишем здесь.
distinguished_name = req_distinguished_name # Имя секции с данными (может быть любым).
[req_distinguished_name]
C = RU # Country - Двухбуквенный код страны.
L = Tula # Locality - Город.
CN = l.autocrm.ru # Common Name - Имя домена.
emailAddress = support@autocrm.ru # Адрес электронной почты.
# Можно ещё указать следующие поля:
# ST (State - штат, название провинции и т.п.)
# O (Organization - название организации)
# OU (Organizational Unit - название подразделения)
[v3_req]
# Список альтернативных имён. Можно указать прямо здесь, но это не
# удобно, особенно если их много, так что мы указываем название секции
# с именами.
subjectAltName = @alt_names
[alt_names]
# Имена. Можно указать хоть сколько, главное чтобы цифры после точки были разными.
DNS.0 = *.l.autocrm.ru
DNS.1 = *.d.autocrm.ru
openssl req -new -x509 -days 9999 -nodes -newkey rsa:4096 -out cert.pem -keyout cert.key -config openssl.confДобавляем поддержку в nginx
server {
listen 80;
server_name ~^(?<branch>.+)\.l\.autocrm\.ru$;
rewrite ^ https://$host$request_uri? permanent;
}
server {
listen 443 ssl;
server_name ~^(?<branch>.+)\.l\.autocrm\.ru$;
ssl on;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # SSLv3 исключить CVE-2014-3566
ssl_certificate /etc/nginx/ssl/cert.pem;
ssl_certificate_key /etc/nginx/ssl/cert.key;
.................
}