استدعاء واجهة برمجة تطبيقات Discourse يسبب SSLHandshakeException

مرحباً بالجميع،

تم تكوين منتدى Discourse باستخدام بروتوكول SSL: TLSv1.2 ومجموعات تشفير قوية: TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384

عند استدعاء واجهة برمجة تطبيقات Discourse باستخدام Apache httpclient من إطار عمل Liferay 6.2 الذي يعمل على JDK7، يظهر استثناء:

javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure

أعتقد أن السبب هو أن *JDK7 لا يدعم أي مجموعة تشفير GCM. كيف يمكن حل هذه المشكلة؟ أو هل توجد طريقة أخرى لاستدعاء واجهة برمجة تطبيقات Discourse من منصة Java؟

شكراً،
Saurabh Khandelwal

أظن أن الترقية إلى JDK8 ليست خيارًا متاحًا؟

لا، لا يمكننا الترقية إلى JDK8.
كنت أفكر في إجراء الطلب باستخدام استدعاء Ajax في JavaScript، لكن الطلب تم حظره بسبب سياسة CORS.
كيف يمكن تمكين CORS في Discourse؟

أعتقد أنك بحاجة إلى إعداد خيار الموقع cors_origins.

وماذا عن هذه العبارة:
يجب تعيين متغير البيئة DISCOURSE_ENABLE_CORS إلى true لتمكين CORS.
كيف يمكن تعيينه؟

يمكنك إضافته في app.yml إذا كنت تستضيفه بنفسك. أما في استضافتنا، فعادة ما يكون مفعّلًا افتراضيًا.