curl exits with 77 (CURLE_SSL_CACERT_BADFILE), когда указанный CA-bundle файл не найден или не читаем. 3 причины: (1) отсутствует /etc/ssl/certs/ca-certificates.crt — не установлен пакет ca-certificates, (2) в container (alpine, scratch) CA-bundle отсутствует, (3) environment variable CURL_CA_BUNDLE указывает на несуществующий файл.
Ниже: подробности, пример, связанные, FAQ.
# Debian/Ubuntu: установить bundle
$ apt-get install ca-certificates
# Alpine (Docker)
$ apk add --no-cache ca-certificates
$ update-ca-certificates
# Debug — какой bundle curl видит
$ curl -v https://example.com 2>&1 | grep -i "CAfile\|CApath"
# Дефолт через env
$ export CURL_CA_BUNDLE=/etc/ssl/certs/ca-certificates.crtSSL/TLS — протокол шифрования, который защищает данные между браузером и сервером. Наш инструмент анализирует сертификат, цепочку доверия, версию TLS и известныеуязвимости.
Издатель, срок действия, алгоритм подписи, покрываемые домены (SAN) и тип валидации (DV/OV/EV).
Проверка полной цепочки: от конечного сертификата через промежуточные до корневого CA.
Версия протокола (TLS 1.2/1.3), набор шифров, поддержка Perfect Forward Secrecy (PFS).
Создайте монитор — получайте уведомления в Telegram и email за 30/14/7 дней до истечения.
мониторинг SSL-сертификатов
аудит TLS-конфигурации
HTTPS как фактор ранжирования
доверие покупателей
www и поддомены.Strict-Transport-Security заставляет браузер всегда использовать HTTPS.Мониторинг SSL-сертификатов, история проверок и уведомления за 30 дней до истечения.
Зарегистрироваться (FREE)Да если добавить ca-certificates. Scratch — нужно копировать bundle из builder-image.
Образы типа alpine:latest обычно имеют ca-certificates. gcr.io/distroless/base — тоже. Проверь Dockerfile.
Либо --cacert путь к self-signed CA, либо import в system bundle через update-ca-certificates.