مكالمات API تعطي خطأ 403 خلف Cloudflare

هذا هو السيناريو الخاص بنا:

يتم تشغيل مناقشتنا على مثيل EC2 منفصل عن خادمنا الرئيسي. يقوم مثيل المناقشة بإنشاء شهادة الخادم الخاصة به باستخدام Let’s Encrypt باستخدام الآلية المضمنة.

يستخدم الخادم الرئيسي واجهة برمجة تطبيقات خادم المناقشة باستخدام اسم DNS العام الخاص به.

المنتدى هو نطاق فرعي للموقع، أي “forum.[mydomain].com”.

هذا يعمل بشكل جيد.

الآن وضعنا الموقع بأكمله خلف Cloudflare.

يعمل المنتدى نفسه بشكل جيد عند الوصول إليه عبر المتصفح.

ومع ذلك، عندما يحاول الموقع الرئيسي الوصول إلى مثيل المناقشة باستخدام استدعاء API، فإنه يحصل الآن على خطأ 403.

لقد جربت بالفعل جميع الخطوات المدرجة هنا: استخدام المناقشة مع Cloudflare: أفضل الممارسات - التوثيق / الاستضافة الذاتية - Discourse Meta بما في ذلك إيقاف فحص سلامة المتصفح لـ forum.[mydomain].com/u/by-external/* ولكن دون جدوى.

تم تعيين إعداد SSL في Cloudflare على “Full”. لا يتم استخدام “Full (Strict)”، وسيعمل أيضًا، ولكنه يتسبب في مشكلات مع صفحات الخطأ الاحتياطية إذا كان الموقع معطلاً، لذا أفضل الاستمرار في استخدام “Full” بدلاً من ذلك.

ليس لدي أي فكرة لماذا سيفشل استدعاء API مع 403 وليس لدي أي فكرة عن كيفية حل هذه المشكلة. في الوقت الحالي، قمت بإيقاف تشغيل الوكيل لـ forum.[mydomain].com كحل مؤقت، مما يحل المشكلة، ولكنه يعني بالطبع أن المناقشة ليست مخبأة أو محمية بواسطة Cloudflare.

أي أفكار حول ما يمكن أن يكون خاطئًا؟