В случае отсутствия сертификата и ключа, можно использовать 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 privatekey.key -out certificate.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 privatekey.key -in certificate.crt
После выполнения команд будут созданы файлы *.pfx, *.crt и *.key, которые можно использовать для работы с HTTPS.
cp privatekey.key certificate.crt password.pass /var/lib/visiology/certs && sudo cp certificate.crt /docker-volume/proxy/proxy.crt