В случае отсутствия сертификата и ключа, можно использовать 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. Самоподписанный сертификат)