#655: Как установить свои SSL/TLS сертификаты для веб-интерфейса Swarmica?
Отредактирована: 461 день назадСимптомы
Как установить собственные SSL сертификаты вместо Let's Encrypt?
Решение
Подготовьте файлы сертификатов
Чтобы установить собственные сертификаты, вам понадобится получить архив с сертификатами и ключами от авторизованного провайдера SSL сертификатов.
Обычно архив содержит несколько файлов:
yourdomain.tld.crt - сертификат для вашего адреса
yourdomain.tld.key - ключ, который использовался для создания сертификата
Скопируйте файлы yourdomain.tld.crt и yourdomain.tld.key в папку certs.
Установка сертификатов
- Отредактируйте файл /root/swarmica/traefik.yml, чтобы получилось так (заменяя строки yourdomain.tld.* на названия ваших файлов):
tls: certificates: - certFile: "/etc/traefik/certs/yourdomain.tld.crt" keyFile: "/etc/traefik/certs/yourdomain.tld.key" stores: - default stores: default: defaultCertificate: certFile: "/etc/traefik/certs/yourdomain.tld.crt" keyFile: "/etc/traefik/certs/yourdomain.tld.key" options: default: minVersion: VersionTLS12 cipherSuites: # Recommended ciphers for TLSv1.2 - TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 - TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 - TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305 # Recommended ciphers for TLSv1.3 - TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 - TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 - TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305 tlsv13only: minVersion: VersionTLS13 - Создайте резервную копию файла
/root/swarmica/docker-compose.yml:cp /root/swarmica/docker-compose.yml{,.backup} - Отредактируйте файл
/root/swarmica/docker-compose.ymlдля сервисаtraefik:traefik: image: traefik:latest restart: always depends_on: - django volumes: - ./certs:/etc/traefik/certs:ro - ./traefik.yml:/etc/traefik/dynamic.yml:ro - traefik_data:/letsencrypt:z - /var/run/docker.sock:/var/run/docker.sock:ro command: - "--providers.docker=true" - "--providers.docker.exposedbydefault=false" - "--providers.file=true" - "--providers.file.filename=/etc/traefik/dynamic.yml" - "--log.level=INFO" - "--entrypoints.web.address=:80" - "--entrypoints.web.http.redirections.entrypoint.to=web-secure" - "--entrypoints.web-secure.address=:443" - "--api.dashboard=false" ports: - "0.0.0.0:80:80" - "0.0.0.0:443:443" - Замените строчки в
/root/swarmica/docker-compose.ymlгде содержитсяtls.certresolver=letsencrypt, чтобы они заканчивались наtls.options=default - Перезагрузите Swarmica:
docker compose down docker compose up -d