Eingebettete Bilder sind in E-Mails auf https://domain.com:80 festgelegt

Ich habe kürzlich meinen Server migriert und habe keine benutzerdefinierte Nginx-Instanz vor meiner Discourse-Instanz laufen. Es handelt sich um die ganz normale Discourse-Standardinstallation, die gemäß dem Quick-Start-Leitfaden eingerichtet wurde. Der Inhalt wurde von einem anderen Server migriert.

In den von der Instanz gesendeten E-Mails sehe ich, dass die Domain wie folgt gesetzt ist: https://domain.org:80

https://thinnal.org:80/user_avatar/thinnal.org/senthil_kumaran/45/513_2.png

Dies führt dazu, dass Bilder nicht mehr geladen werden. Haben Sie irgendwelche Vorschläge, was wahrscheinlich passiert ist und wo ich dies zurücksetzen kann?

Ist force_https aktiviert?

Ich finde das in den Einstellungen der neuen Discourse-Instanz nicht. (Meine ist die neueste: 2.4.0.beta4)

Meine Vermutung ist, dass diese Einstellung zu einem bestimmten Zeitpunkt entfernt wurde.

Ja

Da mein Let’s Encrypt-Zertifikat gültig ist, sehe ich, dass meine force_https auf true gesetzt ist.

/var/www/discourse# cat config/discourse.conf |grep force_https
force_https = 'true'

Wie löse ich nun das Problem, dass bei Smiley-Einbettungen und Bild-Einbettungen in E-Mails https://domain.org:80 angezeigt wird?
Hat das etwas mit den HTTPS-Einstellungen meiner S3-Instanz zu tun?

Meine Weiterleitung nach der Authentifizierung führte zu folgendem:

https://domain.org:80/?authComplete=true

Wer fügt diesem Domainnamen das “:80” am Ende hinzu?

Basierend auf einem anderen Beitrag habe ich mein Problem so gelöst.

$./launcher enter app
$ cd /var/www/discourse
/var/www/discourse# rails c
[1] pry(main)> SiteSetting.port
=> "80"
[2] pry(main)> SiteSetting.port=nil
=> nil
[3] pry(main)>

Port ist eine Einstellung nur für Entwickler und sollte niemals auf einer Produktionsinstanz gesetzt werden. Daher ist unklar, wie Sie in diesen Zustand gelangt sind.