Ich habe example.com-Links. Woher kommen sie?

Hallo,

ich habe eine Discourse-Instanz von einem Host auf einen anderen verlegt – von einer Multi-Site-Installation auf einen einzelnen Host mit einem einzelnen Container – mittels Backup-Export und -Import. Dabei verwenden einige Links immer noch www.example.com anstelle des korrekten Hostnamens.

Wie kann ich das beheben?

Ich habe DISCOURSE_HOST auf den Hostnamen gesetzt, aber das Problem scheint damit nicht behoben zu sein. Gibt es eine SQL-Abfrage, mit der ich Vorkommen von www.example.com finden kann?

Vielleicht wie in Domainnamen ändern oder mein Discourse umbenennen? beschrieben neu zuordnen?

Meine beste Vermutung ist, dass irgendwo auf dem Weg etwas mit diesem Hostnamen konfiguriert wurde. Es ist jedoch schwer zu erraten, wie das passieren konnte.

Hey @hellekin

Du kannst alle deine Site-Einstellungen schnell nach dem String „example“ durchsuchen, und zwar wie folgt über die Rails-Konsole:

SiteSetting.where('value LIKE ?', "%example%")

Zum Beispiel auf unserer Discourse-Instanz:

[1] pry(main)> SiteSetting.where('value LIKE ?', "%unix\.com%").count
=> 10

Wenn du REDIS überprüfen möchtest, versuche Folgendes (vorausgesetzt, dein Datencontainer heißt app; passe es bei Bedarf an):

docker exec -it app redis-cli

Dann versuche etwas wie:

127.0.0.1:6379> KEYS *example*
(leere Liste oder Menge)

Ein weiteres Beispiel:

127.0.0.1:6379> KEYS *unix*
1) "default:_CACHE:onebox__https://www.unix.com/man-page/linux/1/df/"
2) "ANON_CACHE_text/html,application/xhtml+xml,application/signed-exchange;v=b3,application/xml;q=0.9,*/*;q=0.8_https_community.unix.com/t/passing-variables-to-awk/150198|m=true|c=true|b=true|t=|ca=|l=_count"
3) "default:_CACHE:onebox__https://www.unix.com/aix/56317-timestamp-sh_history-using-ksh-shell.html"

Um alle globalen Einstellungen schnell einzusehen, kannst du dies in der Rails-Konsole ausführen. Alle globalen Einstellungen werden dann angezeigt (ich bin sicher, es gibt einen besseren Weg, dies zu tun …, aber das ist schnell und funktioniert gut):

[1] pry(main)> GlobalSetting.as_json

HTH.

Nachdem ich dem Link von @pfaffman gefolgt bin, habe ich festgestellt, dass ich DISCOURSE_HOST anstelle von DISCOURSE_HOSTNAME verwendet habe.

@neounixs hilfreiche Untersuchungstipps haben kein Ergebnis gebracht, daher gehe ich davon aus, dass das erste Problem zu der aktuellen Situation geführt hat. Ich baue den Container neu auf, um zu sehen…

Container neu aufgebaut und die Links zeigen nun ehemals defekte Bilder, also scheint es gelöst zu sein. Vielen Dank an euch beide!

@pfaffman Könntest du bitte HTML neu erstellen für ActivityPub Support: Phase 1 RFC - #27 by hellekin, um die Korrektur zu bestätigen?

Ja, das ergibt jetzt vollkommen Sinn, nachdem ich mir den Code angesehen habe. Die Discourse-Konfiguration setzt den Standard-Hostname im Konfigurationsfile auf "www.example.com". Wenn also ein Fehler in der Build-Datei vorlag (wie du es beschreibst, @hellekin), erhältst du anscheinend den Standardwert :slight_smile:

Vielleicht wird irgendwann jemand diesen Standardwert so ändern:

hostname = "www.hostname-missing-check-yml-file.com"

:slight_smile: :slight_smile:

Ich habe hier keine Admin-Rechte. Wenn du bestätigen möchtest, dass Einbettungen deiner Seite auf anderen Seiten funktionieren, kannst du es auf try.discourse.org testen.

Ich vermute, hostname = "please.set.DISCOURSE_HOSTNAME.env.example" wäre expliziter und RFC-konform.

Danke, ich habe es bereits anderswo getestet, wollte nur diesen Beitrag aktualisiert haben :slight_smile:

Die Schaltfläche wurde gedrückt. Es sieht so aus, als ob das Bild angezeigt wird!