أحاول جعل OAuth2 يعمل بين المنتدى و ووردبريس. ولكن الآن عندما أسجل الدخول إلى ووردبريس وأعود إلى https://forum/auth/oauth2_basic/callback أحصل على Oops وتقول السجلات Faraday::SSLError (SSL_read: unexpected eof while reading)
ماذا يعني ذلك؟ ومن تشير شهادة SSL الخاصة به؟ تشير نتائج بحث جوجل غالبًا إلى أنها خطأ متعلق بإصدار OpenSSL ولكن في أي طرف؟ ولكن هذه الاقتراحات كانت قديمة بحوالي عامين.
ومع ذلك ، أنا عرضة لارتكاب أخطاء في التكوين كثيرًا أيضًا…
بعد بحث مكثف على جوجل، يبدو أن المشكلة تتعلق بإصدار OpenSSL. ووردبريس الخاص بي وما إلى ذلك موجود على خادم افتراضي خاص (VPS) يعمل بنظام Ubuntu 20.04 مع OpenSSL 1.1.1f وهو أحدث إصدار ممكن، لكن Discourse يعمل على 22.04 ويستخدم OpenSSL 3.x.
لذا فإن صداعي هو الخادم الذي يستضيف ووردبريس، وليس Discourse.
حسنًا، يجب أن أنتقل إلى إصدار أحدث من Ubuntu. نعم، والآن نحن نتعمق في سبب كرهي لجميع أنظمة لينكس بهذا القدر: يجب علي نقل العشرات من مواقع ووردبريس العادية، وواحد Woocommerce، واثنين Moodle، و Postfix، و Varnish بالإضافة إلى إضافاته، وإعادة بناء LAMP ولكن مع MariaDB، وإعادة بناء مكدس Nginx-Varnish-Apache، وضبط المهام المجدولة (crons)، وما إلى ذلك. في المرة الأخيرة التي قمت فيها بذلك، استغرقت ثلاثة أيام، ولا أتحدث عن أيام العمل…
حسنًا، إنها مشكلتي وحدي. أعرف ذلك. والآن يجب علي اتخاذ قرار: هل يحتاج مستخدمي حقًا إلى القدرة على تسجيل الدخول إلى المنتدى باستخدام OpenID باستخدام ووردبريس كمزود.
تعديل:
لقد قمت بتشغيل do-release-upgrade وبعد اختبار قصير يبدو أنه يعمل. لقد تغيرت الأمور على DigitalOcean لأنه عندما حاولت الترقية من 18 → 20 كانت كارثة تامة.
يا إلهي كم أنا غبي نظرًا لأن الرابط المباشر و curl لملف اكتشاف JSON كانا يعملان، كنت متأكدًا تمامًا من أن الخطأ يجب أن يكون من جانب Discourse. الآن قمت بفحص سجلات Nginx على خادم ووردبريس وفي كل مرة تم فيها طلب الاكتشاف، أعطى Nginx خطأ 444 - باستثناء إذا قمت به أنا. بعد ذلك، كان الحل سهلاً حقًا: إزالة Faraday من قائمة الروبوتات السيئة الخاصة بي.
لا أعرف. يجب حذف هذا الموضوع، لأنه لا يتعلق بـ Discourse. ولكن بالتأكيد - يمكن أن يعطي تلميحًا لشخص ما، يفكر بشكل أوسع قليلاً.