Sie können einen Blick in die JavaScript-Konsole werfen. Ich vermute, entweder ist das CDN falsch oder Sie haben den Teil mit den vorkompilierten Assets nicht richtig hinbekommen.
Die Website wurde für Sie geöffnet, da ich zu dem Zeitpunkt, als Sie sie geöffnet haben, die folgenden Zeilen aus der Datei app.yml auskommentiert hatte:
Ich habe die Zeilen gerade wieder aktiviert und den Container neu erstellt. Jetzt wird die Website wieder mit einer leeren Seite angezeigt!
Der Screenshot unten zeigt, wo ich die Codes in meiner app.yml platziert habe. Wie Sie sehen können, habe ich die S3-Konfigurationscodes unter DISCOURSE_NOTIFICATION_EMAIL platziert.
Das habe ich nicht getan. Aber ich habe Fehlerbehebungen vorgenommen und bin fest davon überzeugt, dass ich das S3 CDN nicht richtig eingerichtet habe. Ich benutze StackPath und bin mir nicht sicher, was ich in die Ursprungsadresse und den Host-Header eingeben soll
Eine weitere Sache, bei der ich mir nicht sicher bin, ist, wie ich die Dateilistenfunktion meines DigitalOcean Space Buckets einrichten kann. Derzeit verwende ich “Restrict Listing”. Hat das Auswirkungen?
Ich habe DISCOURSE_S3_CDN_URL auskommentiert und die Seite wird geladen. Das bestätigt, dass mein S3 CDN-Setup das Problem ist, aber ich weiß immer noch nicht, wie ich es richtig einrichte.
Ich weiß nicht viel darüber, wie Discourse funktioniert. Ich bin nur ein weiterer Webmaster, der von der PHP-Welt kopiert und einfügt, aber ich frage mich immer noch, warum dieselbe CDN zweimal deklariert werden müsste.
Ich verwende DISCOURSE_CDN_URL nicht, da ich DISCOURSE_S3_CDN_URL habe (und wahrscheinlich hat mich keine Dokumentation, die ich gelesen habe, dazu angeleitet, es zu verwenden). Also habe ich es versucht.
Ich habe DISCOURSE_CDN_URL: <cdn-url> hinzugefügt. Das Neuerstellen gab keine Fehler, aber ich bekam den Fehler 502. Als ich es entfernte, funktionierte mein Forum wieder.
Dennoch können Ihre Probleme aufgrund einer Fehlkonfiguration irgendwo anders auftreten. Aber ich mag einfache Lösungen, auch wenn ich falsch liege, und ich mache die Situation dafür verantwortlich, dass Sie die CDN zweimal für unterschiedliche Bedürfnisse angeben. Oder so ähnlich.
DISCOURSE_CDN_URL und DISCOURSE_S3_CDN_URL sind unterschiedlich. Während DISCOURSE_CDN_URL auf Ihr Forum verweist, verweist DISCOURSE_S3_CDN_URL auf Ihre S3-Speicher-URL.
Die Idee ist, dass DISCOURSE_CDN_URL abrufbare Assets wie CSS bereitstellt, während DISCOURSE_S3_CDN_URL pushbare Assets wie JS, Bilder und Benutzer-Uploads bereitstellt.
Ich konnte alles zum Laufen bringen, außer meinem S3-Speicher-CDN. Immer wenn ich diesen Teil in der app.yml-Datei aktiviere, wird mein Forum leer angezeigt.
Ein Blick auf das Browser-Inspektionsnetzwerk zeigt, dass Assets, die von DISCOURSE_S3_CDN_URL bereitgestellt werden, den Fehler 404 anzeigen.
Das ist für mich ziemlich… ungewohnt. Aber wie gesagt, ich habe sehr begrenzte Erfahrung. Ich benutze AWS als CDN über S3/CloudFlare in WordPress, aber nur für statische Dateien – Skripte würden eine andere Einrichtung erfordern. Ich vermute, es hat keinen Sinn, WP und Discourse zu vergleichen, da dies grundlegend so unterschiedliche Plattformen sind. Aber ich versuche, die Prinzipien des Konzepts hier zu verstehen.
Nun, ich habe jetzt viel mehr als Sie
EDIT: Und ich lag mit meinem Setup auch total falsch Alle JS, Bilder usw. werden über CDN ausgeliefert. Aber ich konnte dort keine CSS finden.
Hallo @Jagster, ich weiß deine Hilfe wirklich zu schätzen.
Das Problem, das ich jetzt habe, ist, dass meine Website versucht, .gz.js-Assets vom Object Storage CDN zu laden, aber die Dateien sind nicht da. Wie zwinge ich Discourse, diese .gz.js-Assets in den Object Storage hochzuladen?
Ich habe diese Zeile bereits in meiner app.yml. Ich habe den obigen Code nach der Definition der Plugins eingefügt. Oder soll ich sie über die Plugin-Listen verschieben?
Mit der Anleitung von Ihnen (@Falco) und @pfaffman habe ich diese Konfiguration gerade erfolgreich abgeschlossen.
Für andere Community-Mitglieder, die meine Konfigurationen sehen möchten. Hier sind die Screenshots. Ich habe auch einen umfassenden Leitfaden geschrieben, während ich all dies konfiguriert habe.
Ich habe StackPath und DigitalOcean Spaces verwendet. Mein Leitfaden enthält eine Schritt-für-Schritt-Anleitung der gesamten Konfiguration. Wenn jemand diesen Leitfaden benötigt, werde ich die URL gerne auf Anfrage posten.
@Falco und @pfaffman, vielen Dank für eure Hilfe. Dies ist das erste Mal, dass ich Discourse konfiguriere, aber ich habe gerade die schwierigsten Teile (glaube ich!) erledigt. Ich bin sehr dankbar!