Port 443 über Hostname nicht erreichbar und Port 80 schlägt ebenfalls fehl

Hallo, ich versuche zum ersten Mal, Discourse selbst zu hosten. Ich habe der offiziellen GitHub-Installationsanleitung gefolgt, indem ich wget -qO- https://raw.githubusercontent.com/discourse/discourse_docker/main/install-discourse | sudo bash ausgeführt habe. Alles funktionierte gut, bis es um die Verbindung zur Subdomain ging. Nach Abschluss der Überprüfung erhalte ich immer wieder dieselben Fehlermeldungen: „Port 443 dieses Computers scheint über den Hostnamen: \[Discourse Subdomain\] nicht erreichbar zu sein und die Verbindung zu \[Discourse Subdomain\] Port 80) schlägt ebenfalls fehl“.

Zuerst existierte die app.yml überhaupt nicht, also habe ich online nachgesehen und es behoben. Ich habe den Port auf 81 geändert und auch 443 geändert und es erneut versucht, derselbe Fehler, als hätte ich den Port überhaupt nicht geändert.

Ich habe auch überprüft, ob raspap Probleme verursachen könnte, und ich sah, dass es Port 80 verwendete. Ich habe ihn auf 81 geändert und immer noch dieselbe Fehlermeldung.

Was mache ich falsch? Liegt es daran, dass ich einen Raspberry Pi 5 verwende? Muss ich Ports in meinen Router-Einstellungen öffnen? Ich bin ratlos und entschuldige mich, falls dies eine Anfängerfrage ist, was wahrscheinlich daran liegt, dass ich ein Neuling auf diesem Gebiet bin.

Hmm… folgen Sie:

Nein, aber ich werde das auf jeden Fall ausprobieren, weil ich sicher bin, dass dies das Problem beheben wird, das ich gerade habe. Danke :slight_smile:

Ich konnte den Fehler bei Port 80 beheben, aber ich kann immer noch nicht herausfinden, warum 443 immer noch nicht funktioniert. Ich bin mir nicht sicher, ob raspap ihn noch verwendet, aber ich glaube nicht, dass ich ihn ändern kann.

Nachdem ich ewig gebraucht habe, um das Cloudflare Tunnel-Ding herauszufinden, habe ich es endlich geschafft, eine Verbindung herzustellen, ohne dass es zu Port 80- und 433-Fehlern kommt, indem ich dieser Anleitung gefolgt bin: Install Discourse on a residential internet with Cloudflare Tunnel

Danach gab es einen 5-sekündigen Countdown und es begann, seinen Dienst zu verrichten, bis es stoppte. Ich dachte, ich wäre fertig und besuchte die Domain, aber es wird angezeigt, dass sie nicht antwortet. Auch localhost zeigt überhaupt nichts an. Starte ich es falsch? Ich habe keine Konfigurationen geändert und sogar alles deinstalliert und neu installiert, ohne Erfolg. Auch das Neuaufbauen stoppt einfach, und doctor discourse sagt, dass die Discourse Container App läuft. Wie greife ich also darauf in meinem lokalen Netzwerk zu, um zu sehen, ob es auf anderen Geräten überhaupt läuft?

Sie können versuchen, die Raspberry-IP mit cURL abzufragen und zu sehen, ob sie antwortet.

Sie können auch den Tunnelstatus im Cloudflare-Dashboard überprüfen.

4 „Gefällt mir“

Ich erhalte curl: (7) Fehler bei der Verbindung zu (IP hier) Port 80 nach 0 ms: Verbindung zum Server konnte nicht hergestellt werden

Das Cloudflare-Dashboard zeigt an, dass es gesund ist.

Was ich vergessen habe zu erwähnen, ist, dass ich auch raspap hoste, was ein Hotspot für den Raspberry ist, und es hostet auch ein Web-Dashboard, aber ich habe den Port dafür auf 81 geändert.

1 „Gefällt mir“

Sollte Discourse über Port 80 Ihrer PI erreichbar sein, aber cURL kann ihn von Ihrem anderen Rechner aus nicht erreichen?

Können Sie Ihre app.yml-Datei teilen?

Ich habe curl auf dem Pi selbst ausprobiert. Ich kann auch die Website nicht mit meinem Telefon aufrufen, aber ich kann die andere Website, die ich vom Pi hoste, über den Port 81 erreichen.

Hier ist meine app.yml-Datei:

templates:

  - templates/postgres.template.yml

  - templates/redis.template.yml

  - templates/web.template.yml

  - templates/web.ratelimited.template.yml

  - templates/web.ssl.template.yml

  - templates/web.letsencrypt.ssl.template.yml

expose:

  - 80:80

  - 443:443

params:

  db_default_text_search_config: pg_catalog.english

  db_shared_buffers: 4096MB

env:

  LC_ALL: en_US.UTF-8

  LANG: en_US.UTF-8

  LANGUAGE: en_US.UTF-8

  DISCOURSE_HOSTNAME: forum.iambest.net

  DISCOURSE_DEVELOPER_EMAILS: (private email)

  DISCOURSE_SKIP_EMAIL_SETUP: '1'

  UNICORN_WORKERS: 8

volumes:

  - volume:

      host: "/var/discourse/shared/standalone"

      guest: "/shared"

  - volume:

      host: "/var/discourse/shared/standalone/log/var-log"

      guest: "/var/log"

hooks:

  after_code:

    - exec:

        cd: "$home/plugins"

        cmd:

          - git clone https://github.com/discourse/docker_manager.git

run:

  - exec: echo "Beginning of custom commands"

  - exec: echo "End of custom commands"

Sie sind der Anleitung unter Install Discourse on a residential internet with Cloudflare Tunnel überhaupt nicht gefolgt?

Sie haben zum Beispiel die Ports und Vorlagen nicht auskommentiert.

2 „Gefällt mir“

Oh ja, da hast du recht. Das liegt daran, dass ich es während der Fehlerbehebung entfernt habe, weil ich mir nicht sicher war, ob das der Grund war, warum es vorher nicht funktionierte.

Ich war mir auch nicht sicher, ob ich die Ports auskommentieren sollte, also habe ich es erneut versucht, ohne das zu tun, und jetzt funktioniert es… Ein bisschen, weil das nicht richtig aussieht

Ich habe auch die Rocket-Sache deaktiviert, wie es in der Anleitung stand. Das Problem tritt sowohl mit der Domain als auch lokal auf.

Sieht nach einem CSS-Problem aus, aber auch nach einem Firewall-Problem? Haben Sie irgendwelche Firewall-Beschränkungen bei Ihrem Internetdienstanbieter (ISP)?

Ich habe keine Firewall-Beschränkungen eingerichtet und auch nichts am CSS geändert. Der Router, den ich verwende, ist ebenfalls sehr eingeschränkt, sodass ich leider keine Firewall-Einstellungen ändern kann.

Außerdem sind anscheinend keine Ports eingeschränkt, außer Port 25 und 455.

1 „Gefällt mir“

Sieht auch so aus, als würde es aus irgendeinem Grund nicht HTTPS, sondern HTTP verwenden. Wie in der Anleitung beschrieben, habe ich HTTPS in der app.yml erzwungen, bin mir also nicht sicher, warum ich die Seite dann nicht über HTTPS aufrufen kann.

@Falco Benötigt man ein LetsEncrypt-Zertifikat, wenn man Cloudflare Tunnels verwendet? Oder ist es über Cloudflare automatisch?