1. В платформе УД реализован функционал автоматической генерации SSL сертификатов Let's Encrypt через встроенный certbot в микросервис iot-double-web.
Для этого необходимо отредактировать содержимое конфигурационного файла vars/default.yml, в частности указать:
Блок кода | ||||||
---|---|---|---|---|---|---|
| ||||||
...
web_enable_certbot: false
web_certbot_email: test@email.com
... |
где
- web_enable_certbot — параметр использования certbot для получения сертификатов Let's Encrypt;
- web_certbot_email — e-mail владельца домена. Необходим для подтверждения валидности домена при получении сертификата Let's Encrypt.
Подсказка |
---|
Вам потребуется зарегистрированное доменное имя и публичный IP адрес |
Для применения настроек необходимо выполнить перезапуск контейнеров с микросервисами:
Блок кода | ||||
---|---|---|---|---|
| ||||
ansible-playbook install.yml |
Предупреждение |
---|
Для выполнения команды ansible-playbook необходимо находиться или указать путь до сценариев ansible для развертывания ядра платформы Eltex-SC. |
2. Для подключения собственных сертификатов SSL необходимо полученные сертификаты/ключи скопировать на сервер с платформой. Например:
- создать директорию /etc/ansible-iot/ssl
- создать директорию с именем домена /etc/ansible-iot/ssl/example.com, где example.com доменно имя Вашего сервера. В данную директорию скопировать фалы сертификатов/ключей
- при наличии dhparams.pem скопировать в /etc/ansible-iot/ssl
Далее необходимо отредактировать содержимое конфигурационного файла Ansible templates/docker-compose.yml.j2, в частности указать:
Блок кода | ||||||
---|---|---|---|---|---|---|
| ||||||
web:
image: "${REGISTRY_IOT}/iot-double-web:${IOT_RELEASE}"
container_name: iot-double-web${CONTAINER_NAME_SUFFIX}
{% if not without_core %}
depends_on:
core:
condition: service_started
links:
- core
{% endif %}
environment:
- ENABLE_CERTBOT=${WEB_ENABLE_CERTBOT}
- SERVER_NAME=${WEB_SERVER_NAME}
- CERTBOT_EMAIL=${WEB_CERTBOT_EMAIL}
- HTTPS_PORT=${WEB_HTTPS_PORT}
- TZ=${TIMEZONE}
volumes:
- "${INSTALL_DIR}/web/etc/nginx/conf.d:/etc/nginx/conf.d"
- "${INSTALL_DIR}/web/well-known:/usr/share/eltex-sc-web/www/.well-known"
{% if web_enable_certbot %}
- "${INSTALL_DIR}/web/etc/letsencrypt:/etc/letsencrypt"
- "${INSTALL_DIR}/web/var/log/letsencrypt:/var/log/letsencrypt"
{% endif %}
- "${INSTALL_DIR}/ssl/certs/eltex-sc-web.crt:/etc/ssl/certs/eltex-sc-web.crt"
- "${INSTALL_DIR}/ssl/private/eltex-sc-web.key:/etc/ssl/private/eltex-sc-web.key"
- "/etc/ansible-iot/ssl/example.com/fullchain.pem:/etc/ansible-iot/ssl/sc.eltex-co.ru/fullchain.pem"
- "/etc/ansible-iot/ssl/example.com/privkey.pem:/etc/ansible-iot/ssl/sc.eltex-co.ru/privkey.pem"
- "/etc/ansible-iot/ssl/options-ssl-nginx.conf:/etc/ansible-iot/ssl/options-ssl-nginx.conf"
- "/etc/ansible-iot/ssl/ssl-dhparams.pem:/etc/ansible-iot/ssl/ssl-dhparams.pem" |
2