(опционально) Создание self-signed сертификата для reverse-proxy

В случае отсутствия сертификата и ключа, можно использовать self-signed сертификат.

Для генерации self-signed сертификата необходимо выполнить следующие команды на linux сервере.

В командах ниже необходимо заменить YourDomainName на доменное имя или IP адрес.

Объявить переменную с доменным именем или IP адресом:

export CN=YourDomainName

Затем,

  • в случае использования IP адреса, выполнить следующую команду:
export SAN=IP:YourDomainName
  • в случае использования доменного имени, выполнить следующую команду:
export SAN=DNS:YourDomainName

После этого выполнить следующие команды.

Утилита запросит указание паролей, они потребуются для настройки reverse-proxy. Лучше указывать пароль от восьми символов.

Вводить команды лучше в директории, запись в которую не требует прав суперпользователя.

openssl req -new -x509 -sha256 -newkey rsa:2048 -keyout proxy.key -out proxy.crt -days 365 \
-config <(echo "
[req]
distinguished_name=req_distinguished_name
x509_extensions=v3_req
prompt=no
[req_distinguished_name]
CN = $CN
[v3_req]
subjectKeyIdentifier=hash
authorityKeyIdentifier=keyid:always,issuer
basicConstraints=CA:true
subjectAltName=$SAN") &&
openssl pkcs12 -export -out proxy.pfx -inkey proxy.key -in proxy.crt

После выполнения команд будут созданы файлы *.pfx, *.crt и *.key, которые можно использовать для работы с https:// (Случай 1. Самоподписанный сертификат)