Проблема:
Вы установили AWS CLI и настроили профиль, но при выполнении запроса:
aws s3 ls --endpoint-url https://s3.objstor.cloud4u.com:443/
Получаете ошибку:
SSL validation failed for https://s3.objstor.cloud4u.com:443/ [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self-signed certificate in certificate chain (_ssl.c:1032)
Причина:
AWS CLI не может подтвердить подлинность SSL-сертификата, предоставленного endpoint s3.objstor.cloud4u.com. Это происходит потому, что сертификат центра сертификации (CA) отсутствует в стандартном наборе доверенных корневых сертификатов (CA bundle), используемом AWS CLI.
Решение:
Перед началом вам необходимо скачать CA Bundle (objstor-cloud4u-ca-bundle.crt), содержащий корневой и промежуточный сертификаты центра сертификации и выложить на ваш сервер.
Метод 1: Добавление сертификата в переменные окружения
Этот метод заставляет AWS CLI и другие библиотеки (например, python-requests) постоянно использовать указанный пакет сертификатов.
- Linux / macOS:
Добавьте следующую строку в файл инициализации вашей оболочки (например, ~/.bashrc, ~/.zshrc).
export AWS_CA_BUNDLE="/etc/pki/tls/certs/objstor-cloud4u-ca-bundle.crt"
Затем примените изменения:
source ~/.bashrc
- Windows:
В командной строке выполните
setx AWS_CA_BUNDLE "C:\мой_путь\objstor-cloud4u-ca-bundle.crt"
После выполнения команды необходимо перезапустить консоль.
Метод 2: Указание сертификата непосредственно в команде AWS CLI
Этот метод подходит для разового выполнения команды.
- Linux / macOS:
AWS_CA_BUNDLE="/etc/pki/tls/certs/objstor-cloud4u-ca-bundle.crt" aws s3 ls --endpoint-url https://s3.objstor.cloud4u.com:443/
- Windows:
aws s3 ls --endpoint-url https://s3.objstor.cloud4u.com:443/ --ca-bundle "C:\мой_путь\objstor-cloud4u-ca-bundle.crt"
Метод 3: Отключение проверки SSL-сертификата (НЕ РЕКОМЕНДУЕМО)
aws s3api list-buckets --endpoint-url https://s3.objstor.cloud4u.com:443/ --no-verify-ssl