Настройка HTTPS в Docker Compose

Перед настройкой https необходимо провести базовую настройку и установку Test IT.

  1. В .env файле раскомментируйте переменные SSL_CERTIFICATE и SSL_CERTIFICATE_KEY:

    ## internal certificate path
    SSL_CERTIFICATE=/etc/nginx/ssl/testit.crt
    SSL_CERTIFICATE_KEY=/etc/nginx/ssl/testit.key
    #REDIRECT_TO_HTTPS=true
    
  2. Раскомментируйте REDIRECT_TO_HTTPS для редиректа http на https.

  3. Чтобы сервис frontend был доступен по https протоколу, пропишите 443 порт в docker-compose.yml файле:

    services:
      frontend:
        image: "${DOCKER_REGISTRY}/frontend:${CONTAINER_VERSION}"
        ports:
          - 80:80
          - 443:443
    ...
    
  4. Подготовьте файлы с сертификатом и ключом. Для этого дайте им имена testit.crt и testit.key. Имена файлов сертификатов должны соответствовать значению переменных SSL_CERTIFICATE и SSL_CERTIFICATE_KEY в .env файле.

  5. Cкопируйте подготовленные файлы в хранилище сертификатов:

    certs=$(docker inspect prod_ssl-volume --format '{{ .Mountpoint }}')
    
    chown 101 testit.crt testit.key
    
    chgrp 0 testit.crt testit.key
    
    cp -p testit.crt ${certs}/
    
    cp -p testit.key ${certs}/
    
  6. Примените изменения, выполнив команду:

    docker-compose -f docker-compose.yml --project-name prod up --detach --timeout 120