Сравнение версий
Ключ
- Эта строка добавлена.
- Эта строка удалена.
- Изменено форматирование.
Для того, чтобы платформа работала по протоколу HTTPS, необходимо установить сертификат на вашем сервере. Для этого выполните следующие шаги:
Поместите файл сертификата, ключа и, если есть, пароля (
certificate.crt
,privatekey.key
,password.pass
) в какую-нибудь папку папку/var/lib/visiology/certs
на вашем сервере, например, в<path>/visiology-certs
.
Приведённые выше имена файлов заданы по умолчанию, поэтому, если требуется их переименование, вы можете сделать это в соответствующей секции кода ниже.В файле
visiology3reverse-proxy.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 yestrue
Информация |
---|
Ограничение: При смене HTTP на HTTPS и наоборот, требуется удалить
|
|
Возможные неполадки и пути их устранения
Проблема: не удаётся зайти на платформу, когда она настроена для работы по HTTPS.
В этом случае, необходимо выполнить следующие шаги:
Проверьте, что сервис
reverse-proxy
запущен, выполнив следующую команду:docker servece ls | grep reverse-proxy
Если он не запущен, просмотрите его логи:
docker service logs visiology_reverse-proxy --since 5m
Если в логе присутствуют ошибки вида "
Cannot load certificate...
" или "Cannot load key...
", то потребуется проверить соответствие названий файлов сертификатов на хосте и в файлеreverse-proxy.yml
.
В файле reverse-proxy.yml
необходимо проверить следующее:
в секции
services.reverse-proxy
присутствует секцияvolumes
со следующим содержимым:- /var/lib/visiology/certs:/mnt/volume
;на сервере расположены файлы сертификата, ключа и пароля (если требуется) в папке
/var/lib/visiology/certs
;имена файлов сертификатов в папке
/var/lib/visiology/certs
соответствуют названиям в секцииservices.reverse-proxy.environment.HTTPS_SECTION_SERVER
. Необходимо сравнить имена файлов (значение после последнего знака/
).
Проблема: не работает https на платформе версии 2.30
В этом случае необходимо настроить согласно документации Настройка HTTPS , соблюдая требование к названию файла сертификата proxy.crt
Смотрите также