Passwortzurücksetzung funktioniert nicht für Discourse 2.6.0.beta2

Hallo zusammen!

Ich verwende eine Discourse 2.6.0.beta2 Docker-Installation hinter einem Nginx-Proxy. Leider können Benutzer ihre Passwörter nicht zurücksetzen. Eine E-Mail mit einem Link kommt an, aber der Link scheint kaputt zu sein, egal wie schnell man versucht, ihn zu verwenden. Wenn man auf den Passwort-Reset-Link in der E-Mail klickt, erscheint ein trauriges Gesicht :frowning: und die Meldung „Etwas ist schiefgelaufen“.

Im Administrationsbereich (https://mysite/logs/) kann ich keine Logs zu diesem Ereignis finden. Und was ebenfalls seltsam ist: Der Docker-Container protokolliert ebenfalls nichts:

Das ist die Ausgabe von

dokcer logs app


run-parts: executing /etc/runit/1.d/00-ensure-links
run-parts: executing /etc/runit/1.d/00-fix-var-logs
run-parts: executing /etc/runit/1.d/anacron
run-parts: executing /etc/runit/1.d/cleanup-pids
Cleaning stale PID files
run-parts: executing /etc/runit/1.d/copy-env
Started runsvdir, PID is 39
chgrp: invalid group: ‘syslog’
ok: run: redis: (pid 52) 0s
ok: run: postgres: (pid 50) 0s
rsyslogd: imklog: cannot open kernel log (/proc/kmsg): Operation not permitted.
rsyslogd: activation of module imklog failed [v8.1901.0 try https://www.rsyslog.com/e/2145 ]
supervisor pid: 55 unicorn pid: 78
(55) Reopening logs

meine app.yml



## Dies ist die All-in-One, eigenständige Discourse Docker-Container-Vorlage
##
## Nach Änderungen an dieser Datei MUSS neu aufgebaut werden
## /var/discourse/launcher rebuild app
##
## SEI *SEHR* VORSICHTIG BEI DER BEARBEITUNG!
## YAML-DATEIEN SIND SUPER SUPER EMPFINDLICH GEGENÜBER FEHLERN IN LEERZEICHEN ODER AUSRICHTUNG!
## Besuchen Sie http://www.yamllint.com/, um diese Datei bei Bedarf zu validieren

templates:
  - "templates/postgres.template.yml"
  - "templates/redis.template.yml"
  - "templates/web.template.yml"
  - "templates/web.ratelimited.template.yml"
## Deaktivieren Sie diese beiden Zeilen, wenn Sie Lets Encrypt (https) hinzufügen möchten
#  - "templates/web.ssl.template.yml"
#  - "templates/web.letsencrypt.ssl.template.yml"

## Welche TCP/IP-Ports soll dieser Container exponieren?
## Wenn Sie Discourse einen Port mit einem anderen Webserver wie Apache oder nginx teilen möchten,
## siehe https://meta.discourse.org/t/17247 für Details
expose:
#  - 3040
  - "127.0.0.1:3040:80"

params:
  db_default_text_search_config: "pg_catalog.english"
  upload_size: 20m

  ## Setzen Sie db_shared_buffers auf maximal 25 % des Gesamtspeichers.
  ## wird automatisch vom Bootstrap basierend auf dem erkannten RAM gesetzt, oder Sie können es überschreiben
  db_shared_buffers: "128MB"

  ## kann die Sortierleistung verbessern, erhöht aber den Speicherverbrauch pro Verbindung
  #db_work_mem: "40MB"

  ## Welche Git-Revision soll dieser Container verwenden? (Standard: tests-passed)
  #version: tests-passed

env:
  LANG: en_US.UTF-8
  # DISCOURSE_DEFAULT_LOCALE: en

  ## Wie viele gleichzeitige Webanfragen werden unterstützt? Hängt von Speicher und CPU-Kernen ab.
  ## wird automatisch vom Bootstrap basierend auf den erkannten CPUs gesetzt, oder Sie können es überschreiben
  UNICORN_WORKERS: 2

  ## TODO: Der Domainname, auf den diese Discourse-Instanz antworten soll
  ## Erforderlich. Discourse funktioniert nicht mit einer bloßen IP-Nummer.
  VIRTUAL_HOST: $$$$$$$$$$$$$$$$$$$$$$
  VIRTUAL_PORT: 80
  LETSENCRYPT_HOST: $$$$$$$$$$$$$$$$$$$$$44
  LETSENCRYPT_EMAIL: $$$$$$$$$$$$$$$$$$$4
  DISCOURSE_HOSTNAME: $$$$$$$$$$$$$$$$$

  ## Deaktivieren Sie dies, wenn Sie möchten, dass der Container mit demselben
  ## Hostnamen (-h-Option) wie oben angegeben gestartet wird (Standard: "$hostname-$config")
  #DOCKER_USE_HOSTNAME: true

  ## TODO: Liste der durch Komma getrennten E-Mails, die bei der ersten Anmeldung zu Administratoren und Entwicklern werden
  ## Beispiel 'user1@example.com,user2@example.com'
  DISCOURSE_DEVELOPER_EMAILS: '$$$$$$$$$$$'

  ## TODO: Der SMTP-Mailserver, der zur Validierung neuer Konten und zum Senden von Benachrichtigungen verwendet wird
  ## SMTP-Adresse, Benutzername und Passwort sind erforderlich
  ## WARNUNG: Das Zeichen '#' im SMTP-Passwort kann Probleme verursachen!
  DISCOURSE_SMTP_ADDRESS: $$$$$$$$$$$$$$$
  DISCOURSE_SMTP_PORT: $$$$$$$$$$$$
  DISCOURSE_SMTP_USER_NAME: $$$$$$$$$$$$$$$$$$$
  DISCOURSE_SMTP_PASSWORD: "$$$$$$$$$$$$$$$$"
  #DISCOURSE_SMTP_ENABLE_START_TLS: true           # (optional, Standard true)

  ## Wenn Sie die Lets Encrypt-Vorlage hinzugefügt haben, deaktivieren Sie unten, um ein kostenloses SSL-Zertifikat zu erhalten
 # LETSENCRYPT_ACCOUNT_EMAIL: $$$$$$$$$$$$$$$

  ## Die http- oder https-CDN-Adresse für diese Discourse-Instanz (konfiguriert zum Abrufen)
  ## siehe https://meta.discourse.org/t/14857 für Details
  #DISCOURSE_CDN_URL: https://discourse-cdn.example.com

## Der Docker-Container ist zustandslos; alle Daten werden in /shared gespeichert
volumes:
  - volume:
      host: /var/discourse/shared/standalone
      guest: /shared
  - volume:
      host: /var/discourse/shared/standalone/log/var-log
      guest: /var/log

## Plugins gehen hier
## siehe https://meta.discourse.org/t/19157 für Details
hooks:
  after_code:
    - exec:
        cd: $home/plugins
        cmd:
          - git clone https://github.com/discourse/docker_manager.git
#          - git clone https://github.com/discourse/discourse-chat-integration.git

## Beliebige benutzerdefinierte Befehle, die nach dem Erstellen ausgeführt werden sollen
run:
  - replace:
      filename: /etc/nginx/conf.d/discourse.conf
      from: "types {"
      to: |
        set_real_ip_from 172.18.0.0/24;
        real_ip_header X-Forwarded-For;
        real_ip_recursive on;
        types {

docker_args:
  - "--network=nginx-proxy"
1 „Gefällt mir“

Erhalten Sie den richtigen Link? Er sollte etwa so aussehen: https://forum.example.com/u/password-reset/6a34c2454cf11a6707a23591e6c417ba

2 „Gefällt mir“

Hallo Gerhard, vielen Dank für deine Antwort.

Der Link scheint in Ordnung zu sein. In meinem Link steht „users

3 „Gefällt mir“

Hallo,
ich habe es auf zwei meiner Instanzen getestet. Gleicher Fehler.
Es sieht so aus, als wäre der generierte Link falsch.
Wenn ich ändere:
users → u
funktioniert es :slight_smile:

2 „Gefällt mir“

Ich kann bestätigen, dass der von @napcok vorgeschlagene Workaround funktioniert. Ich würde ihn jedoch nicht als Lösung bezeichnen. Vielleicht könntest du mir raten, wie ich dieses Problem lösen kann?

Es scheint, dass dies nur die polnische und die türkische Sprache betrifft.

2 „Gefällt mir“

Ich habe einen Pull Request mit einer Korrektur dafür eingereicht.

Ich denke, das sollte dort erledigt werden:

und dort:

Da ich weder Türkisch, Polnisch noch Crowdin beherrsche, werde ich mich davon abhalten, etwas zu versuchen :sweat_smile:

1 „Gefällt mir“

Sowohl in Crowdin bearbeitet.
Meinen Pull Request auf GitHub geschlossen.

2 „Gefällt mir“

Danke! Ich habe die Übersetzungen im Discourse-Repo aktualisiert. Sie sollten sehr bald im tests-passed-Branch landen.

3 „Gefällt mir“

Danke! Beide Foren aktualisiert, alles funktioniert gut :slight_smile:

2 „Gefällt mir“