HTTPS: Problem beim Einrichten des SSL-Zertifikats

Hallo!

Ich habe versucht, HTTPS für meine Website zu aktivieren, indem ich mich an dieses tolle Tutorial gehalten habe. Alles lief gut, bis ich versuchte, die App neu zu erstellen, indem ich ./launcher rebuild app eingegeben habe.

Ich habe discourse-doctor ausgeführt, um herauszufinden, was los ist, und habe schließlich etwas gefunden:

==================== ENDE DES NEUBAU-LOGS ====================
Neubau der App fehlgeschlagen.

Prüfe deinen Domainnamen . . .

Verbindung zu discourse.mydomain.com erfolgreich.
Du solltest wahrscheinlich alle nicht-standardmäßigen Plugins entfernen und neu erstellen.
Versuche, den bestehenden Container neu zu starten . . .

Starte den bestehenden Container
+ /usr/bin/docker start app
Fehlermeldung vom Daemon: Treiber hat die externe Konnektivität am Endpoint app (some_random_characters) nicht programmieren können: Fehler beim Starten des Userland-Proxy: listen tcp 0.0.0.0:443: bind: Adresse bereits in Verwendung
Fehler: Starten der Container fehlgeschlagen: app
Neustart des Containers fehlgeschlagen.

Hinweis: Ich habe eine lange Zeichenkette durch some_random_characters und meinen Domainnamen durch discourse.mydomain.com ersetzt.

Das ist ziemlich seltsam, da ich mich genau an das Tutorial gehalten habe; ich habe keine Ahnung, wie ich das beheben soll.

Jede Hilfe wäre sehr willkommen!

Einen schönen Tag noch,

nekodroid

Für eine weitere Diagnose müssten Sie Ihre app.yml teilen. Stellen Sie sicher, dass Sie vor dem Posten alle sensiblen E-Mail-Adressen und Passwörter entfernen.

---
env:
  DISCOURSE_DEVELOPER_EMAILS: myemailadress@maildomain.com
  DISCOURSE_HOSTNAME: discourse.mydomain.com
  DISCOURSE_SMTP_ADDRESS: stmp.eu.mailgun.org
  DISCOURSE_SMTP_PASSWORD: smtppasswordwithoutquotes
  DISCOURSE_SMTP_PORT: 587
  DISCOURSE_SMTP_USER_NAME: postmaster@discourse.mydomain.com
  LANG: en_US.UTF-8
  LETSENCRYPT_ACCOUNT_EMAIL: myemailadress@maildomain.com
  UNICORN_WORKERS: 2
expose:
  - "80:80"
  - "443:443"
hooks:
  after_code:
    -
      exec:
        cd: $home/plugins
        cmd:
          - "git clone https://github.com/discourse/docker_manager.git"
params:
  db_default_text_search_config: pg_catalog.english
  db_shared_buffers: 128MB
run:
  -
    exec: "echo \"Beginning of custom commands\""
  -
    exec: "echo \"End of custom commands\""
templates:
  - templates/postgres.template.yml
  - templates/redis.template.yml
  - templates/web.template.yml
  - templates/web.ratelimited.template.yml
  - templates/web.template.yml
  - templates/web.ssl.template.yml
  - templates/web.letsencrypt.ssl.template.yml
volumes:
  -
    volume:
      guest: /shared
      host: /var/discourse/shared/standalone
  -
    volume:
      guest: /var/log
      host: /var/discourse/shared/standalone/log/var-log

Hier ist es ~

Hast du diesen Teil gelesen?

Es scheint ein Problem mit deiner Docker-Installation zu geben.

Und warum hast du die Reihenfolge der Einträge in app.yml komplett umgeschrieben?

Ich hatte diesen Leitfaden tatsächlich gelesen, aber er scheiterte beim Befehl wget -qO- https://get.docker.com/ | sh; soweit ich mich erinnere, wurde die Meldung „falsche Verwendung des Befehls wget

Ja! Das wurde irgendwann hinzugefügt. Ich bin mir nicht sicher, wann genau.

Freut mich, dass du online bist.

Vielen Dank :uwu:

Übrigens, ich habe jetzt einen weiteren Fehler!

Ich habe das discourse-setup-Autosetup-Programm ausgeführt und bei der Aufforderung eine E-Mail-Adresse für die Let’s Encrypt-Verschlüsselung hinzugefügt. Jetzt heißt es:

Prüfe deinen Domainnamen . . .
WARNUNG:: Dieser Server scheint unter discourse.apertureproject.me:443 nicht erreichbar zu sein.

Auch eine Verbindung zu http://discourse.apertureproject.me (Port 80) schlägt fehl.

Laut diesem Fehler liegt das Problem an nicht geöffneten Ports, und ich habe absolut keine Ahnung, wie ich das beheben soll. Ich werde meine Website aber ohne Verschlüsselung nicht starten, also werde ich Let’s Encrypt nicht deaktivieren.

EDIT!

Ich habe die Dokumentation meines Hosters (OVH) gefunden, wie man Ports öffnet. Aber mein IP-Manager ist leer, und laut den Screenshots in der Dokumentation sollte er mit mehreren IP-Adressen gefüllt sein.

Es tut mir leid, sie ist auf Französisch, aber wie du sehen kannst, ist die Liste der IP-Adressen komplett leer.

Der Test kann fehlschlagen, obwohl kein echtes Problem vorliegt, damit Sie sehen können, was passiert.

Ist DNS eingerichtet? Nein. discourse.apertureproject.me wird nicht aufgelöst. Sie müssen DNS einrichten, bevor Sie HTTPS nutzen können.

Welches Betriebssystem verwenden Sie? Welche Plattform? (Bei einigen sind Ports standardmäßig deaktiviert)

Erhalten Sie beim Ausführen von nc in der Befehlszeile die Meldung „command not found“?

Alles klar, wie mache ich das?

Ich weiß, dass es sich um DNS-Einträge handelt, aber welcher Wertetyp ist es usw.?

Mit Wert meine ich A, AAAA, NS usw.

Denn ich habe bereits Folgendes im Bereich DNS-Server hinzugefügt:

Vielen Dank auch für deine Hilfe ~ :smiley_cat:

Du benötigst einen A-Eintrag, der auf die IP-Adresse deines Droplets zeigt.

Das habe ich bereits erledigt.

Eine weitere Frage: Ich habe ein Problem, das ich zuvor nie hatte. Wenn ich apertureproject.me eingebe, wird nun die Nginx-Willkommensseite angezeigt.

Zuvor wurde die Nachricht ‘Discourse erfolgreich installiert’ angezeigt.

Es öffnet sich die Installationsseite. Das ist normal. Beeilen Sie sich, es zu installieren.

Wie installiere ich es dann? Ich verstehe es nicht. Ich hatte diese Seite vorher noch nie.

Entschuldigung, ich bin damit noch nicht so vertraut… das ist verwirrend :tired_face:

Folgen Sie nur den Anweisungen.

Meinst du den 30-Minuten-Installationsleitfaden? Ich habe ihn befolgt.

Nein, das hast du bereits erledigt. Du befindest dich jetzt im Schritt ‘Admin registrieren’.

Ah… Ich verstehe es immer noch nicht x’( Was empfiehlst du mir zu tun?

Was siehst du, wenn du deine Domain durchsuchst?

Willkommen bei nginx!

Wenn Sie diese Seite sehen, wurde der nginx-Webserver erfolgreich installiert und funktioniert. Eine weitere Konfiguration ist erforderlich.

Für Online-Dokumentation und Support wenden Sie sich bitte an nginx.org.

Kommerzieller Support ist unter nginx.com verfügbar.

Vielen Dank, dass Sie nginx verwenden.

Nein, ich sehe die Registrierungsseite. Leeren Sie Ihren Cache, Ihren Browserverlauf und versuchen Sie es erneut.