So funktioniert 'www' mit Discourse

Nein, keine zusätzliche Installation erforderlich.

Außerdem ist nur dieser Block erforderlich:

  after_ssl:
    - replace:
        filename: "/etc/runit/1.d/letsencrypt"
        from: /--keylength/
        to: "-d mywebsite.org --keylength"

(Die Umleitung von HTTP zu HTTPS scheint ohne die beiden anderen replace-Blöcke, die nginx enthalten, einwandfrei zu funktionieren.)

Also, ich habe endlich Zeit gefunden, die Anleitungen „Let’s Encrypt mit mehreren Domains einrichten

Kostenlos einrichtbar, auch wenn Cloudflare nicht Ihr Registrar ist. Funktioniert mit HTTPS, ohne zusätzliche Komplexität in Ihrer Discourse-Installation.

Danke, ich verwende derzeit keine Cloudflare, daher war mir das noch nicht begegnet. Ich habe einen anderen Weg gewählt und mich an die oben genannten Anleitungen gehalten, wodurch ich mein Problem größtenteils lösen konnte. Du hast genau in dem Moment gepostet, als ich meine Antwort eingereicht habe.

Bitte prüfe diese Website; enthält sie alle benötigten Weiterleitungen? Sie ist mit nur einem replace-Block (siehe oben) und dieser DNS-Konfiguration eingerichtet (ich habe nur die E-Mail-TXT-Einträge geschwärzt):

Ich erhalte keine Warnung in der Konsole.

Ja, sei einfach darauf vorbereitet, dass es kaputtgeht, wenn sich die Letsencrypt-Konfiguration ändert.

Als Letsencrypt aktualisiert wurde, um elliptische Kurven zu unterstützen, funktionierte der oben genannte Ansatz für ein paar Wochen nicht mehr.

Der einzige Unterschied ist, dass ich den CAA-Eintrag in meinem DNS nicht habe. Ich werde ihn mit demselben Wert hinzufügen, den Sie verwendet haben.

Ich gehe davon aus, dass Ihr Discourse-Hostname www.example.com ist. Sind Sie sich sicher, dass Sie keine Warnung erhalten, wenn Sie https://example.com aufrufen?

Die Warnung ist bei Chrome auf Android noch gravierender: Die Seite wird komplett blockiert und es erfolgt keine Weiterleitung.

Du hast mich jetzt verloren :slight_smile: Worauf muss ich achten/bereit sein, etwas zu reparieren?

Richtig.

Ja, das bin ich, keine Warnung in der Konsole.

Ich glaube, ich habe das Problem gefunden. Ich hatte Folgendes:

after_ssl:
    - replace:
        filename: "/etc/runit/1.d/letsencrypt"
        from: /--keylength/
        to: "-d example.com -d www.example.com --keylength"

Dabei hätte es so aussehen sollen:

after_ssl:
    - replace:
        filename: "/etc/runit/1.d/letsencrypt"
        from: /--keylength/
        to: "-d example.com --keylength"

Beachten Sie die letzte Zeile: Ich hatte example.com und www.example.com.

Außerdem habe ich return 301 https://$host$request_uri; in return 301 $scheme://$host$request_uri; geändert. Nach einem Neuaufbau scheint alles zu funktionieren.

Jetzt mache ich mir nur noch Sorgen wegen dem, was @Stephen erwähnt hat, nämlich dass es kaputtgehen könnte, wenn sich die Let’s Encrypt-Konfiguration ändert.

Eine Änderung am 9. September letzten Jahres hat den von Ihnen verfolgten Ansatz unterbrochen, und da die Implementierung außerhalb der Standardinstallation lag, wurde erst am 31. Oktober eine Lösung veröffentlicht. Wenn Sie das von Ihnen verfolgte Thema und die Änderungsverlauf auf der Wiki ansehen, ist dies eindeutig dokumentiert.

Da Sie nichts tun, das erfordert, dass Sie tief in zusätzliche Konfigurationen eintauchen, rate ich davon ab. Andererseits, wenn Let’s Encrypt tatsächlich Änderungen vornimmt und Sie betroffen sind, können wir Sie auf dieses Thema verweisen.