Forum ausgefallen, dann Zertifikat-Erneuerungsfehler bezüglich Firewall-Konfiguration?

Hallo!

Mein Forum ist heute Nacht ausgefallen, vor etwa 10 bis 17 Stunden (ich kann es nicht genau sagen). Die Seiten haben anscheinend gecachte Versionen geladen und viele Ressourcen wurden nicht geladen.

Ich habe den Container gestoppt und gestartet, ohne Erfolg.

Ich habe ihn (einmal) neu erstellt und erhalte nun die Meldung eines abgelaufenen Zertifikats.

https://www.ssllabs.com/ssltest/analyze.html?d=unicyclist.com gibt zurück:
Gültig bis Mi, 13. April 2022, 23:22:28 UTC (vor 11 Stunden und 15 Minuten abgelaufen) EXPIRED

acme.sh.log sagt mir Folgendes:

Fehler beim Erstellen einer neuen Bestellung. Le_OrderFinalize nicht gefunden. {
  "type": "urn:ietf:params:acme:error:rateLimited",
  "detail": "Fehler beim Erstellen einer neuen Bestellung :: zu viele fehlgeschlagene Autorisierungen in letzter Zeit: siehe https://letsencrypt.org/docs/rate-limits/",
  "status": 429
}

Ich habe mir das Log genauer angesehen und zuvor mehrmals, einmal täglich ab März (nicht genug, um das Letsencrypt-Ratenlimit auszulösen, laut meinen Logs) gesehen:

unicyclist.com:Verify error:Fetching http://unicyclist.com/.well-known/acme-challenge/uSv1JIUxVs-Nn7Zn2cIZO355KGaqrtutELs4pgw67_Y: Timeout during connect (likely firewall problem)

Ich habe Anfang März diese Firewall-Regeln bei Hetzner gesetzt:

Also, im Grunde habe ich ein paar Fragen:

  1. Könnten diese Hetzner Firewall-Regeln das Problem sein? Wenn ja, welche Regel(n) fehlen, die das Problem verursachen könnten? Ich habe übrigens gerade alle diese Regeln entfernt.

  2. Warum hatte ich heute Morgen 10 Mal die Meldung unicyclist.com:Verify error:Fetching […] Timeout during connect (likely firewall problem) bei einem einzigen Rebuild? Könnte ein einzelner Rebuild das Letsencrypt-Ratenlimit auslösen? :thinking:

  3. Da ich ein Ratenlimit erreicht habe, bedeutet das, dass mein Forum praktisch eine Woche lang nicht erreichbar ist und ich nichts dagegen tun kann? :grimacing:

Die Lösung, die ich verwendet habe, ist, einen zweiten Hostnamen (z. B. www, aber es könnte auch etwas anderes sein) hinzuzufügen, wie in Einrichten von Let’s Encrypt mit mehreren Domains vorgeschlagen. Ich glaube jedoch, dass es einige Änderungen an den Vorlagen gab, die dazu führen, dass diese Anweisungen nicht funktionieren. Was ich vor ein paar Tagen für eine andere Website getan habe, war, /etc/runit/1.d/letsencrypt zu bearbeiten und -d newdomain an den Stellen hinzuzufügen, an denen Sie -d realdomain sehen. Stellen Sie dann sicher, dass die neue Domain auf Ihren Server zeigt, und führen Sie dann /etc/runit/1.d/letsencrypt aus.

Möglicherweise müssen Sie auch Port 80 öffnen. Soweit ich weiß, ist dies nicht erforderlich, wenn ein gültiges Zertifikat vorhanden ist, aber Sie haben kein gültiges Zertifikat. Daher denke ich, dass es von Port 80 lesen muss, um loszulegen. Es gibt keine Nachteile, wenn Port 80 geöffnet ist, da einige Leute versuchen, über http:// darauf zuzugreifen, und wenn Sie Port 80 geöffnet haben, können sie zu https weitergeleitet werden.

Ich werde daran arbeiten, diese Anweisungen zu aktualisieren, aber morgen kommt ein Umzugswagen an und ich sollte mich eher darauf vorbereiten, als auf Meta zu posten. :slight_smile:

3 „Gefällt mir“

Vielen Dank für Ihre Antwort!

Muss bei Verwendung einer neuen Domain/Subdomain wirklich jeder Beitrag neu gebacken werden? Ich habe 1,6 Mio. Beiträge. Ein erneutes Backen würde auch die Ratenbegrenzung für das Einbetten von YouTube auslösen, wie ich festgestellt habe, als ich dieses Forum von vBulletin importiert habe.

Das Problem mit einer temporären neuen Domain/Subdomain ist, dass ich nicht der Inhaber der Domain bin, auf der mein Forum gehostet wird, was ziemlich ärgerlich ist. Die Antworten des Inhabers können langsam sein, und wenn etwas schief geht, gehen E-Mails hin und her… Nicht sehr praktisch :grimacing:

Ich habe tatsächlich auf Challenge Types - Let's Encrypt gelesen, dass Port 80 bei einigen “Challenges” verfügbar sein sollte (ich weiß nicht, welche Art von Challenge beim Erneuern eines Zertifikats von Discourse verwendet wird).


Abgesehen davon bin ich wirklich daran interessiert, etwas mehr über die 10 fehlgeschlagenen Challenges zu erfahren (entspricht das einer Zertifikatsanfrage?) während eines einzigen Rebuilds.

Vielleicht wäre eine offizielle Antwort dazu interessant?

Denn wenn aus irgendeinem Grund dadurch mehr Zertifikatsanfragen ausgelöst werden, als von Let’s Encrypts Ratenbegrenzung erlaubt ist, dann sollte es sich nicht so verhalten :white_question_mark:

Auszug aus acme.sh.log:

[Thu 14 Apr 2022 10:29:01 AM UTC] payload
[Thu 14 Apr 2022 10:29:01 AM UTC] POST
[Thu 14 Apr 2022 10:29:01 AM UTC] _post_url='https://acme-v02.api.letsencrypt.org/acme/chall-v3/98157717290/JXMDvA'
[Thu 14 Apr 2022 10:29:01 AM UTC] _CURL='curl --silent --dump-header /shared/letsencrypt/http.header  -L '
[Thu 14 Apr 2022 10:29:01 AM UTC] _ret='0'
[Thu 14 Apr 2022 10:29:01 AM UTC] code='200'
[Thu 14 Apr 2022 10:29:01 AM UTC] Pending
[Thu 14 Apr 2022 10:29:01 AM UTC] sleep 2 secs to verify
[Thu 14 Apr 2022 10:29:03 AM UTC] checking
[Thu 14 Apr 2022 10:29:03 AM UTC] url='https://acme-v02.api.letsencrypt.org/acme/chall-v3/98157717290/JXMDvA'
[Thu 14 Apr 2022 10:29:03 AM UTC] payload
[Thu 14 Apr 2022 10:29:03 AM UTC] POST
[Thu 14 Apr 2022 10:29:03 AM UTC] _post_url='https://acme-v02.api.letsencrypt.org/acme/chall-v3/98157717290/JXMDvA'
[Thu 14 Apr 2022 10:29:03 AM UTC] _CURL='curl --silent --dump-header /shared/letsencrypt/http.header  -L '
[Thu 14 Apr 2022 10:29:04 AM UTC] _ret='0'
[Thu 14 Apr 2022 10:29:04 AM UTC] code='200'
[Thu 14 Apr 2022 10:29:04 AM UTC] unicyclist.com:Verify error:Fetching http://unicyclist.com/.well-known/acme-challenge/uSv1JIUxVs-Nn7Zn2cIZO355KGaqrtutELs4pgw67_Y: Timeout during connect (likely firewall problem)
[Thu 14 Apr 2022 10:29:04 AM UTC] pid

Dann ein paar Sekunden später:

[Thu 14 Apr 2022 10:29:18 AM UTC] payload
[Thu 14 Apr 2022 10:29:19 AM UTC] POST
[Thu 14 Apr 2022 10:29:19 AM UTC] _post_url='https://acme-v02.api.letsencrypt.org/acme/chall-v3/98157816830/tzknWw'
[Thu 14 Apr 2022 10:29:19 AM UTC] _CURL='curl --silent --dump-header /shared/letsencrypt/http.header  -L '
[Thu 14 Apr 2022 10:29:19 AM UTC] _ret='0'
[Thu 14 Apr 2022 10:29:19 AM UTC] code='200'
[Thu 14 Apr 2022 10:29:19 AM UTC] unicyclist.com:Verify error:Fetching http://unicyclist.com/.well-known/acme-challenge/UUi8goql9f4QjXwqdk_CUISDmwUpLHqhrSqwbr5D2aY: Timeout during connect (likely firewall problem)
[Thu 14 Apr 2022 10:29:19 AM UTC] pid

Und so weiter, 10 Mal während dieses Rebuilds.

Ich weiß nicht viel darüber, also verstehe ich vielleicht die Dinge komplett falsch.

Sie sollten Port 80 öffnen. Dies ist für die Erneuerung des Zertifikats erforderlich. Außerdem funktioniert Ihre Website nicht für Personen, die zum ersten Mal über HTTP darauf zugreifen, da sie die dauerhafte Umleitung zu HTTPS nicht erhalten.

6 „Gefällt mir“

Ich habe das Forum mit dem verfügbaren Port 80 neu aufgebaut und mein Forum ist wieder online. Ich musste nicht eine Woche warten.

Danke!

4 „Gefällt mir“

Gut, dass das geklappt hat! (Für meine Problemumgehung bei zu vielen Let’s Encrypt-Anfragen ändern Sie die Foren-URL nicht, sondern fügen Sie einfach eine zweite Domain zur Zertifikatsanfrage hinzu. Es kann jede andere Domain sein, sodass Sie eine Domain, die Sie besitzen, auf das Forum zeigen und wie vorgeschlagen neu erstellen könnten, aber glücklicherweise mussten Sie das nicht.)

1 „Gefällt mir“

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.