Добавление самоподписанных сертификатов в контейнеры (Docker Compose)

Назовите свой проект

В качестве примера в этой инструкции используется проект с именем testit. Вы можете использовать другое название.

Вам может понадобиться добавить самоподписанные сертификаты в контейнеры webapi и rabbitmqconsumer как доверенные. Обычно это необходимо при:

  • Интеграции с клиентом Jira, если в нем используются самоподписанные сертификаты
  • Миграции с TestRail, если между серверами отсутствует SSL соединение

Определение сертификатов для добавления

Данный шаг рассмотрен на примере Google Chrome. Вы можете повторить аналогичную процедуру в вашем браузере.

Чтобы определить, какие сертификаты вам необходимо добавить в список доверенных, откройте Jira или TestRail в вашем браузере и выполните следующие действия:

  1. Откройте меню настроек подключения, нажав на значок безопасного подключения.
  2. Выберите секцию Безопасное подключение.
  3. Нажмите Действительный сертификат.
  4. В открывшемся окне перейдите на вкладку Certificate path, чтобы найти сертификат, требующийся для интеграции. Если сертификатов больше, чем 2, вам нужны все сертификаты. Если сертификатов 2, вам нужен первый (корневой) сертификат.

Добавление сертификата вручную

  1. Подготовьте сертификаты (в случаях с использованием промежуточного сертификата необходимо подготовить всю цепочку).
  2. Выполните следующие команды:
    1. trusted_certs=$(docker inspect testit_trusted-certificates-volume --format '{{ .Mountpoint }}')
    2. cp -p certificate.crt ${trusted_certs}/
  3. Перезапустите систему Test IT:
docker compose -f docker-compose.yml --project-name testit restart

Добавление сертификата с помощью bash-скрипта

Вы также можете создать и запустить bash-скрипт, чтобы автоматизировать данный процесс.

Чтобы сделать это, скопируйте в текстовый файл copy_cert.sh следующие команды:

#!/bin/bash
trusted_certs=$(docker inspect testit_trusted-certificates-volume --format '{{ .Mountpoint }}')
Cert=$(find . -name "*.crt")
Cert_count=$(find . -name "*.crt" | wc -l)
echo "Найдено '${Cert_count}' файлов формата .crt"
cp -p $Cert ${trusted_certs}
echo "Сертификаты скопированы"

Чтобы добавить самоподписанные сертификаты при помощи скрипта:

  1. Перейдите в директорию с сертификатами и скопируйте в нее скрипт copy_cert.
  2. Настройте права на исполнение скрипта: sudo chmod +x copy_cert.sh
  3. Запустите скрипт: bash copy_cert.sh

Если у вас нет доступа к вольюму, вы получите ошибку no permissons. В таком случае запустите скрипт под sudo: sudo copy_cert.sh

Внимание

Если добавление сертификатов в список доверенных не помогает или сертификаты отсутствуют, то в крайнем случае вы можете отключить их проверку для Jira. Для этого необходимо открыть .env-файл и поменять значение переменной INSECURE\_REMOTES на ваш адрес Jira без протокола, но с указанием порта. Например, INSECURE_REMOTES=example.com:443.

Обновлено: