Ist es möglich, Discourse im Headless-Modus zu betreiben, also ohne das Ember-Frontend?
Umkategorisierung zu #installation, da dies definitiv keine häufig gestellte Frage ist.
Könntest du deinen Anwendungsfall näher erläutern?
Wir haben ein React-Frontend, das die Discourse-API nutzt. Zusätzlich haben wir ein eigenes Plugin entwickelt, das Discourse-Funktionen für bestimmte Anwendungsfälle erweitert.
Wenn Nutzer unsere ‘API’-URL aufrufen, sehen sie derzeit das unmarkierte Discourse-Ember-Frontend. Idealerweise möchten wir dies deaktivieren.
Ich würde meine benutzerdefinierte App veranlassen, beim Aufrufen der Discourse-API einen benutzerdefinierten Header zu setzen und eine kleine Regel im internen Discourse-nginx einzufügen, um alle Anfragen ohne den speziellen Header mit 403 abzulehnen.
Danke für den Vorschlag, @Falco. Wie wäre es am besten umzusetzen, während man weiterhin die offiziellen Discourse-Docker-Images verwendet?
Sie können die erforderlichen Änderungen an Ihrer app.yml-Datei vornehmen.
Ihre aktuelle app.yml-Datei sollte etwa so enden:
run:
- exec: echo "Beginning of custom commands"
## blablabla
- exec: echo "End of custom commands"
Sie können Ersetzungen in der nginx-Datei vornehmen, sodass sie so aussieht:
run:
- exec: echo "Beginning of custom commands"
## blablabla
- replace:
filename: "/etc/nginx/conf.d/discourse.conf"
from: "location @discourse {"
to: |
location @discourse {
add_header AAA bbb;
- exec: echo "End of custom commands"
Mehrere Beispiele finden Sie unter discourse_docker/templates at master · discourse/discourse_docker · GitHub