Вот наша ситуация:
Наш форум Discourse работает на отдельном экземпляре EC2, отличном от основного сервера. Экземпляр Discourse создает собственный серверный сертификат с помощью встроенного механизма Let’s Encrypt.
Основной сервер использует API сервера Discourse, обращаясь к нему по его общедоступному доменному имени.
Форум является поддоменом сайта, то есть «forum.[mydomain].com».
Это работало безупречно.
Теперь мы поместили весь сайт за Cloudflare.
Сам форум отлично работает при доступе через браузер.
Однако, когда основной сайт пытается обратиться к экземпляру Discourse через API-запрос, теперь возвращается ошибка 403.
Я уже пробовал все шаги, перечисленные здесь: Использование Discourse с Cloudflare: Лучшие практики — Документация / Самохостинг — Discourse Meta, включая отключение проверки целостности браузера для forum.[mydomain].com/u/by-external/*, но безрезультатно.
Настройка SSL в Cloudflare установлена в режим «Full» (Полный). Режим «Full (Strict)» (Полный строгий) не используется; он тоже бы сработал, но вызывает проблемы со страницами ошибок при сбое сайта, поэтому я предпочитаю оставить режим «Full».
Я не понимаю, почему API-запрос завершается ошибкой 403, и не знаю, как решить эту проблему. На данный момент я отключил прокси для forum.[mydomain].com как временное решение, что устраняет проблему, но, конечно, это означает, что Discourse больше не кэшируется и не защищается Cloudflare.
Есть ли у кого-нибудь идеи, что может быть не так?