Домен platform-api2.max.ru подписан сертификатом Russian Trusted Sub CA
(Минцифры России). Этого центра сертификации нет в стандартных наборах
корневых сертификатов — ни в системном хранилище Linux-контейнера, ни в
наборе certifi, которым пользуется Python.
Без этих файлов любой запрос к API MAX падает с ошибкой:
SSLCertVerificationError: unable to get local issuer certificate
Два файла с официального ресурса Минцифры — страница
«Сертификаты безопасности» на Госуслугах (gosuslugi.ru/crt),
раздел для Linux / ручной установки:
| Файл | Назначение |
|---|---|
russian_trusted_root_ca.pem |
корневой сертификат |
russian_trusted_sub_ca.pem |
выпускающий |
Нужны оба: сервер отдаёт цепочку, и без выпускающего проверка не сойдётся.
Подойдёт любое имя файла с расширением .pem, .crt или .cer —
приложение подхватывает из каталога всё, что этим расширениям
соответствует.
docker compose run --rm backend python -m scripts.check_connection
Скрипт покажет, какие сертификаты подхватились, и выполнит GET /me.
Каталог намеренно пуст: certs/* перечислен в .gitignore. Сертификаты
скачиваются с первоисточника — так видно, что именно вы добавляете в
список доверенных, и файлы не устаревают вместе с репозиторием.
Сертификаты подключаются томом (./certs:/app/certs:ro), а не копируются
в образ, — заменить их можно без пересборки.