Upload-Pfade haben Port 80, aber Protokoll ist https

Kürzlich habe ich meine langjährige Discourse-Instanz auf eine neue wiederhergestellt.

Meine Discourse-Version ist 3.6.0.beta2-latest.

Jetzt habe ich das Problem, dass Uploads nicht funktionieren.

Wenn ich in die Browserkonsole schaue, sehe ich viele Fehler vom Typ net::ERR_SSL_PROTOCOL_ERROR.

Wenn ich mir den Netzwerk-Tab ansehe, sehe ich, dass Chrome versucht, die URL abzurufen:

https://forum.robot.ba:80/uploads/default/optimized/4X/7/2/b/72be8d09005292d2f7ac37158b6d728a063f79ed_2_32x32.png

Wenn ich manuell den Port 80 entferne oder das Protokoll von https auf http ändere, kann ich den Link manuell in einem neuen Browserfenster öffnen.

Irgendeine Idee, warum meine Discourse-Instanz :80 zu den Upload-Pfaden hinzufügt?

Ich habe die Website-Einstellungen nach “force https” durchsucht, aber es scheint, dass dies nicht aktiviert ist oder diese Einstellung nicht mehr existiert.

Ist etwas in meiner app.yml-Datei falsch? Ich habe folgende Vorlagen:

(Ich möchte Letsencrypt verwenden, da ich kein eigenes SSL-Zertifikat habe)

templates:

“templates/postgres.template.yml”

“templates/redis.template.yml”

“templates/web.template.yml”

“templates/web.ratelimited.template.yml”

Entkommentieren Sie diese beiden Zeilen, wenn Sie Lets Encrypt (https) hinzufügen möchten

“templates/web.ssl.template.yml”

“templates/web.letsencrypt.ssl.template.yml”


Sie können diese Anleitung zum Einrichten von HTTPS mit Let’s Encrypt hier aufrufen:

Mögliche Ursache: Versteckte „Port“-Einstellung

Manchmal bleibt eine versteckte port-Seiteneinstellung in der Datenbank nach einer Migration oder Wiederherstellung erhalten.
Dies kann dazu führen, dass Discourse eine falsche Portnummer (wie :80) an HTTPS-URLs anhängt.

So überprüfen und beheben Sie dies:

  1. Betreten Sie Ihren Container:
./launcher enter app
  1. Öffnen Sie die Rails-Konsole:
rails c
  1. Überprüfen Sie den aktuellen Wert:
SiteSetting.port
  1. Wenn 80 zurückgegeben wird, löschen Sie ihn:
SiteSetting.port = ""
  1. Backen Sie dann alle Beiträge und Assets neu, um Links zu aktualisieren:
Jobs.enqueue(:rebake_all_posts)
2 „Gefällt mir“