Для того, чтобы платформа работала по протоколу HTTPS, необходимо установить сертификат на вашем сервере. Для этого выполните следующие шаги:
Поместите файл сертификата, ключа и, если есть, пароля (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. 3. Смонтируйте папку с сертификатами, добавив секцию volumes, где <path> необходимо поменять на актуальный путь:
volumes:
- <path>/visiology-certs:/mnt/volume
Запуск платформы
При запуске run.sh требуется добавить аргумент --https true
Ограничение: При смене HTTP на HTTPS и наоборот, требуется удалить docker volume сервиса keycloak. Это повлечёт удаление всех созданных пользователей. Удаление требуется делать при остановленной платформе. Команда удаления: