حل خطأ التحقق من شهادة SSL ذي الرمز 210 في ClickHouse
Code: 210. DB::NetException: SSL Exception: error:1000007d:SSL routines:OPENSSL_internal:CERTIFICATE_VERIFY_FAILED
سبب الخطأ
clickhouse-client. ويكون سبب الخطأ أحد الأمرين التاليين:
- أن ملف التهيئة
config.xmlيفتقد إلى شهادة الجذر في مخزن شهادات CA الافتراضي على الجهاز، أو - وجود شهادة CA موقعة ذاتيًا أو شهادة صادرة عن CA داخلية غير مُهيأة
الحل
config.xml داخل دليل العميل (على سبيل المثال /etc/clickhouse-client)، وعطّل تحميل شهادات جذر CA الافتراضية من موقعها الافتراضي.
فيما يلي مثال على التهيئة:
عملاء بايثون على macOS
ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate
على macOS، يتحقق إصدار بايثون من python.org من الشهادات عبر المسارات الافتراضية لـ OpenSSL بدلًا من سلسلة مفاتيح النظام. في التثبيت الجديد، لا تشير هذه المسارات إلى أي حزمة شهادات الجذر: يرفق المثبّت certifi، لكنه لا يربطه بالموقع الافتراضي لـ OpenSSL إلا بعد تشغيل البرنامج النصي المرفق Install Certificates.command. وحتى ذلك الحين، لا يتمكن العميل من التحقق من صحة شهادة الخادم الخاصة بـ ClickHouse Cloud، رغم أن هذه الشهادة صالحة. وينطبق ذلك عمومًا على إصدارات python.org المخصّصة لـ macOS (بايثون 3.6 والإصدارات الأحدث)، وليس على بايثون 3.11 فقط.
شغّل Install Certificates.command لربط certifi بمسار الشهادات الافتراضي في OpenSSL. وعدّل رقم الإصدار في المسار ليتوافق مع التثبيت لديك:
ca_cert:
موارد إضافية
clickhouse-client.