API-Aufrufe geben 403 hinter Cloudflare zurück

Dies ist unser Szenario:

Unser Discourse läuft auf einer separaten EC2-Instanz von unserem Hauptserver. Die Discourse-Instanz erstellt ihr eigenes Serverzertifikat mit Let’s Encrypt über den integrierten Mechanismus.

Der Hauptserver nutzt die API des Discourse-Servers über dessen öffentliche DN.

Das Forum ist ein Subdomain der Website, d.h. “forum.[meinedomain].com”.

Das funktioniert einwandfrei.

Nun haben wir die gesamte Website hinter Cloudflare geschaltet.

Das Forum selbst funktioniert einwandfrei, wenn es über einen Browser aufgerufen wird.

Wenn jedoch die Hauptseite versucht, die Discourse-Instanz über einen API-Aufruf zu erreichen, erhält sie nun einen 403-Fehler.

Ich habe bereits alle hier aufgeführten Schritte versucht: Using Discourse with Cloudflare: Best Practices - Documentation / Self-Hosting - Discourse Meta, einschließlich des Deaktivierens der Browser-Integritätsprüfung für forum.[meinedomain].com/u/by-external/*, aber ohne Erfolg.

Die SSL-Einstellung in Cloudflare ist auf “Full” gesetzt. “Full (Strict)” wird nicht verwendet, da dies zwar auch funktionieren würde, aber Probleme mit den Fallback-Fehlerseiten verursacht, wenn die Website nicht erreichbar ist. Daher möchte ich lieber weiterhin “Full” verwenden.

Ich habe keine Ahnung, warum der API-Aufruf mit 403 fehlschlägt und wie ich dieses Problem lösen kann. Vorerst habe ich das Proxying für forum.[meinedomain].com als Workaround deaktiviert, was das Problem löst, aber natürlich bedeutet, dass Discourse nicht von Cloudflare gecacht oder geschützt wird.

Irgendwelche Ideen, was falsch sein könnte?