Hallo. Von den verschiedenen von Ihnen aufgeführten Punkten treffen mehrere eindeutig nicht auf meinen Fall zu. Kein Firewall-Problem – ich kann das Token mit wget oder curl manuell von allen folgenden Orten aus abrufen: 1) innerhalb der Docker-Discourse-App, 2) von außerhalb des Docker-Containers auf dem Host-System und 3) einem verwandten System.
Für diese manuellen Fälle erhalte ich die Token-Inhalte vom erwarteten Speicherort, vorausgesetzt, --ignore oder -k wird angegeben, um das abgelaufene Zertifikat zu umgehen, wenn Discourse automatisch zu HTTPS weiterleitet.
Ich habe keinen Aspekt der von Discourse erstellten Nginx-Konfiguration geändert, weder innerhalb noch außerhalb des Discourse-Docker-Containers. Ich führe keine Kopien von Nginx aus, und Apache läuft auf komplett anderen Ports nur für den lokalen Gebrauch. Beachten Sie, dass all dies über zwei Jahre lang einwandfrei funktioniert hat, mit routinemäßigen Zertifikatserneuerungen und ohne andere App-Änderungen – es ist eine sehr stabile Box.
Keine ungewöhnlichen Ports.
Da ich die Token-Inhalte manuell abrufen kann, sehe ich nicht, wie falsche Speicherorte beteiligt sein könnten. AUSSER …
Ich habe Nginx für meine Tests nicht manuell gestoppt. Ich habe dies jetzt getan, und es gab keinen signifikanten Unterschied – dieselben Fehler von acme.sh (derzeit wieder Fehler 56). Wenn Nginx aus dem Container gestoppt wird, sehe ich auf dem Host eine laufende sv Nginx-Instanz, aber sie hat keine Worker- oder Cache-Prozesse. Wenn ich Nginx im Container neu starte, erscheinen die Worker- und Cache-Prozesse auf dem Host zusammen mit dem laufenden sv Nginx, das geblieben war. Die sv start/stop nginx-Befehle im Container geben die erwarteten Bestätigungen dieser Aktionen.
Aber es gibt noch etwas anderes, das oben erwähnt wurde und Anlass zur Sorge geben könnte. Und ich verstehe nicht, warum dies plötzlich ein Problem sein sollte, angesichts der langen Zeit, in der die Dinge bisher funktioniert haben.
Die statische IP-Adresse des Forums, die von außerhalb meines lokalen Netzwerks verwendet wird, ist für die Verbindung zu den eigenen Diensten dieser Maschine von dieser Maschine aus nicht nutzbar, aufgrund von Komplexitäten bei der Bereitstellung statischer IPs durch den ISP. Ich habe routinemäßig Einträge in /etc/hosts verwendet, um lokale Netzwerk-IP-Adressen für diese Namen bereitzustellen. Wenn ich also mit curl auf derselben Maschine teste (sowohl innerhalb als auch außerhalb des Containers, beide haben die /etc/hosts-Ergänzung für das Forum), verwendet der Test eine andere (und lokale) IP-Adresse als eine externe Website, die sie über DNS nachschlagen würde. Könnte dies irgendwie relevant sein? Danke.