Kann meine Community-Website nicht zu Discourse Hub hinzufügen – Brauche Hilfe

Hallo,

ich schreibe Ihnen, um Hilfe bei einem Problem zu suchen, mit dem ich seit einiger Zeit kämpfe: Meine persönliche Community-Website (starorigin.net) kann nicht zum Discourse Hub hinzugefügt werden. Nach meiner Recherche habe ich festgestellt, dass viele andere im Laufe der Jahre ähnliche Probleme hatten und leider einige dieser Fälle ungelöst blieben. Ich befinde mich nun in der gleichen Situation und würde mich über jede Hilfe oder Anleitung sehr freuen.

Hier ist eine Zusammenfassung meiner Situation:

  1. Anfänglicher Erfolg:

    • Als ich meine Community-Website (starorigin.net) zum ersten Mal eingerichtet habe, wurde meine Seite erfolgreich im Discourse Hub gelistet. Dies ermöglichte meinen Freunden den einfachen Zugriff auf die Community über die Discourse-Mobil-App.
  2. Aktuelles Problem:

    • Nachdem ich dem Tutorial zur Cloudflare-Einrichtung in der Discourse-Community gefolgt und meinen Server migriert hatte, erscheint meine Website nicht mehr im Discourse Hub. Trotz zahlreicher Versuche, das Problem zu beheben, konnte ich die Auflistung nicht wiederherstellen.
    • Dies hat erhebliche Unannehmlichkeiten verursacht, da meine Freunde die Community nicht mehr bequem über die Mobil-App aufrufen können.
  3. Was ich versucht habe:

    • Ich habe alle Cloudflare-Einstellungen überprüft, um sicherzustellen, dass sie mit den empfohlenen Konfigurationen übereinstimmen.
    • Ich habe das Discourse-Forum nach ähnlichen Problemen durchsucht und die vorgeschlagenen Lösungen ausprobiert, aber bisher hat keine funktioniert.
    • Wenn jemand ein ähnliches Problem hatte und gelöst hat, wäre ich für Ihren Rat unglaublich dankbar. Alternativ könnte das Discourse Hub-Team erwägen, eine spezielle Funktion zu implementieren, die es Community-Besitzern mit technischen Schwierigkeiten ermöglicht, ihre Websites manuell zum Hub hinzuzufügen? Dies wäre eine große Hilfe für diejenigen unter uns, die feststecken und das Problem nicht mit Standardmethoden lösen können.

Ich bin wirklich leidenschaftlich für meine Community und möchte sie für meine Freunde und Mitglieder so zugänglich wie möglich machen. Vielen Dank im Voraus für Ihre Zeit und Unterstützung!

DiscourseHub sendet eine HEAD-Anfrage an:

https://starorigin.net/user-api-key/new

Und es empfängt einen 400-Fehler, sodass es die Website nicht hinzufügen kann. Sie müssen Ihre Cloudflare-Konfiguration ändern, um den Zugriff auf diesen Endpunkt zu ermöglichen.

  1. Ich erstelle eine Page Rule für /user-api-key/new:
  • Melden Sie sich im Cloudflare-Dashboard an.
  • Navigieren Sie zu Rules > Page Rules.
  • Klicken Sie auf Create Page Rule.
  • Geben Sie im Feld If the URL matches Folgendes ein:

https://starorigin.net/user-api-key/new

  • Wählen Sie unter Then the settings are Folgendes aus:
    • Cache Level: Bypass
    • Security Level: Off
    • Speichern Sie die Regel und testen Sie sie.

  • Dies scheint jedoch nicht zu funktionieren. Die Ausgabe, die ich erhalte, sieht wie folgt aus:

{"errors":["param is missing or the value is empty: nonce"]}

Entschuldigung, ich weiß nicht, wie die Cloudflare-Benutzeroberfläche funktioniert. Sie sollten sich vielleicht die Cloudflare-Foren ansehen.

Vielen Dank für den Vorschlag. Ich habe versucht, Cloudflare zu deaktivieren, aber ich kann immer noch nicht direkt auf https://starorigin.net/user-api-key/new zugreifen, und der 400-Fehler bleibt bestehen. Das lässt mich vermuten, dass das Problem auf meiner Serverseite liegen könnte.

Könnten Sie mir bitte raten, wo ich in meiner Serverkonfiguration nachsehen soll?
Danke!

Testen Sie diese Theorie, indem Sie Cloudflare vorübergehend deaktivieren, warten, bis die DNS-TTL abgelaufen ist, und versuchen Sie dann, sie erneut zu Discourse Hub hinzuzufügen.

1 „Gefällt mir“
curl -v http://127.0.0.1:8080/user-api-key/new
*   Trying 127.0.0.1:8080...
* Connected to 127.0.0.1 (127.0.0.1) port 8080
> GET /user-api-key/new HTTP/1.1
> Host: 127.0.0.1:8080
> User-Agent: curl/8.5.0
> Accept: */*
> 
< HTTP/1.1 400 Bad Request
< Server: nginx
< Date: Tue, 14 Jan 2025 22:15:08 GMT
< Content-Type: application/json; charset=utf-8
< Transfer-Encoding: chunked
< Connection: keep-alive
< X-Frame-Options: SAMEORIGIN
< X-XSS-Protection: 0
< X-Content-Type-Options: nosniff
< X-Permitted-Cross-Domain-Policies: none
< Referrer-Policy: strict-origin-when-cross-origin
< X-Discourse-Route: user_api_keys/new
< Vary: Accept
< X-Request-Id: fe9303f5-ce51-4bd2-a73e-cda5a6d654e9
< X-Runtime: 0.004521
< 
* Connection #0 to host 127.0.0.1 left intact
{"errors":["param is missing or the value is empty: nonce"]}

Dies sind die Debugging-Ergebnisse von meinem Server. Ich glaube, es gibt möglicherweise Probleme mit meinem Container, die ihn unzugänglich machen. Was könnte der Grund dafür sein und wie kann ich das beheben? Ich wäre Ihnen sehr dankbar, wenn Sie mir helfen könnten.

Sie haben etwas völlig anderes getestet, als ich vorgeschlagen habe, und nur gezeigt, dass Ihr Server korrekt funktionierte.

Der Fehler, den Sie erhalten haben, war:

{"errors":["param is missing or the value is empty: nonce"]}

Der Server ist korrekt. Sie haben diese API falsch aufgerufen, daher der Fehler. Sie erhalten dasselbe Ergebnis gegen z. B. meta.discourse.org:

○ → curl https://meta.discourse.org/user-api-key/new
{"errors":["param is missing or the value is empty: nonce"]}

Ich habe Cloudflare deaktiviert, damit der Traffic direkt auf meinen Server zugreifen kann. Es sind drei Stunden vergangen, aber ich kann meine Website immer noch nicht im Discourse Hub finden. Ich bin mir jetzt nicht mehr sicher, wo ich nach dem Problem suchen soll.

Diese Aussage ist falsch – eine DNS-Abfrage für starorigin.net gegen die Nameserver von Cloudflare gibt immer noch deren IPs zurück:

○ → host starorigin.net colin.ns.cloudflare.com
Using domain server:
Name: colin.ns.cloudflare.com
Address: 162.159.44.75#53
Aliases:

starorigin.net has address 172.64.80.1
starorigin.net has IPv6 address 2606:4700:130:436c:6f75:6466:6c61:7265
1 „Gefällt mir“

Ich habe festgestellt, dass mehrere andere Communities ein ähnliches Problem wie meines haben. Zum Beispiel ist baidu.do (https://baidu.do/user-api-key/new) für mich ebenfalls nicht erreichbar, kann aber trotzdem im Discourse Hub gefunden werden. Warum passiert das?

Selbst für die OpenAI-Community gibt diese URL den gleichen Inhalt wie meine persönliche Website aus, dennoch ist sie im Discourse Hub durchsuchbar.

Dies sind keine „Probleme“, sondern korrektes Verhalten.

/user-api-key/new benötigt zusätzliche Parameter – die Anforderung über curl ist wirklich eine schlechte Anfrage.

Sie müssen Cloudflare korrekt deaktivieren, um die Quelle des Problems zu identifizieren.

1 „Gefällt mir“

Hallo, mein Freund. Ich habe dieses Problem bereits gelöst. Es wurde durch die Reverse-Proxy-Konfiguration von Baota und 1Panel verursacht. Im Wesentlichen haben beide Plattformen proxy_cache standardmäßig in ihren NGINX-Konfigurationen aktiviert. Das Hinzufügen von proxy_cache off; zu den Reverse-Proxy-Regeln sollte das Problem beheben. Weitere Einzelheiten finden Sie unter: 无法在Discourse Hub添加自己的Discourse站点解决办法 - Discourse - Discoze中文社区

1 „Gefällt mir“