(Опционально) Создание 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 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.
В каталог /docker-volume/proxy
необходимо помещать файл с названием proxy.crt
sudo cp certificate.crt /docker-volume/proxy/proxy.crt