Поместить файл сертификата, ключа и, если есть, пароля (certificate.crt, privatekey.key, password.pass) в папку, например <path>/visiology-certs.
Имена файлов захардкожены, если требуется, то можно переименовать в соответствующей секции ниже.
В файле visiology3.yml
тело секции services.reverse-proxy.environment
заменить на код ниже:
HTTPS_SECTION_HTTP: | # HTTPS server optimization section # This will create a cache shared between all worker processes ssl_protocols TLSv1.3 TLSv1.2; ssl_ciphers EECDH+AESGCM:EDH+AESGCM; #ssl_dhparam /etc/nginx/dhparam.pem; ssl_ecdh_curve secp384r1; ssl_session_timeout 5m; ssl_session_cache shared:SSL:10m; ssl_session_tickets off; ssl_stapling on; ssl_stapling_verify on; add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload"; add_header X-Frame-Options "SAMEORIGIN"; add_header X-Content-Type-Options nosniff; add_header X-XSS-Protection "1; mode=block"; # Redirect HTTP to HTTPS section server { listen 80; return 301 https://$$host$$request_uri; } HTTPS_SECTION_SERVER: | listen 443 ssl http2; ssl_certificate /mnt/volume/certificate.crt; ssl_certificate_key /mnt/volume/privatekey.key; #ssl_password_file /mnt/volume/password.pass; HTTP_SECTION_SERVER: |
Если есть файл пароля ключа, то надо раскомментировать ssl_password_file
.
Примонтировать папку с сертификатами: добавить секцию volumes
, где <path> поменять на актуальный.
volumes: - <path>/visiology-certs:/mnt/volume
Запуск платформы
При запуске run.sh требуется добавить аргумент --https yes
Ограничение: При смене HTTP на HTTPS или наоборот требуется удалить docker volume сервиса keycloak. Это повлечёт удаление всех заведённых пользователей. Удаление требуется делать при остановленной платформе.
docker volume rm visiology3_keycloak_data