DuckDNS de-installation und Cloudflare installieren

Ich bin ein kleines bisschen verzweifelt.
Vor circa einem Jahr habe ich Home Assistent entdeckt, und auch den Kanal von Simon42.
Entsprechend der Beschreibung aus dem Video habe ich DuckDNS für den Fernzugriff eingerichtet und ein Portforwarding an meiner Fritzbox… Außerdem Zertifikate von Let’s Encrypt für DuckDNS generiert.
Nun wollte ich DuckDNS loswerden und Cloudflare installien, genau wie im https://youtu.be/saqvt9aEQPs?si=XiYpSInxhmEtaDHv
beschrieben. Cloudflare ist soweit eingerichtet und funktioniert perfekt, aber seit der Deinstallation von Duck DNS gibt es Probleme.
Genauer gesagt nach dem Entfernen der beiden Zeilen in der configuration.yaml

  ssl_certificate: /ssl/fullchain.pem
  ssl_key: /ssl/privkey.pem

Sobald ich diese beiden Zeilen entferne und HomeAssistant neu starte, komme ich nicht mehr auf die Oberfläche. Ich habe eine Zeit lang gebraucht und ein glücklicherweise installiertes und laufendes SSH AddOn, um zu entdecken, dass HomeAssistant Core nicht mehr startet, wenn die beiden Zeilen in der Configuration.yaml entfernt wurden.
Füge ich die beiden Zeilen wieder (über SSH und vi) hinzu und restarte den HA core in der SSH Shell mit „ha core restart“, komme ich auch wieder in die Web Oberfläche.
Ein „ha core logs“ gibt mir dann folgendes aus:

2023-10-02 21:21:05.064 ERROR (MainThread) [aiohttp.server] Error handling request
Traceback (most recent call last):
  File "/usr/local/lib/python3.11/site-packages/aiohttp/web_protocol.py", line 332, in data_received
    messages, upgraded, tail = self._request_parser.feed_data(data)
                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "aiohttp/_http_parser.pyx", line 557, in aiohttp._http_parser.HttpParser.feed_data
aiohttp.http_exceptions.BadStatusLine: 400, message:
  Bad status line "Invalid method encountered:\n\n  b'\\x16\\x03\\x01\\x02'\n    ^"

Leider kann ich kein Python, aber ich verstehe soweit, dass irgendwas in der http Konfiguration nicht richtig sein kann… (Stichwort „Invalid Method….“
Was läuft hier falsch? Wie bekomme Homeassistant wieder ohne die beiden Zeilen

  ssl_certificate: /ssl/fullchain.pem
  ssl_key: /ssl/privkey.pem

an‘s laufen und endlich wieder einen lokalen Zugriff mit http statt https?

Was hast du genau aus der configuration.yaml gelöscht? Wirklich nur die 2 zeilen? Warum?

Kannst du bitte mal vorher und nacher dem Abschnitt der configuration.yaml mit den umliegenden zeilen posten bitte?

Ja, nur die beiden Zeilen. Und warum? Weil ich die nur für DuckDNS+LetEncrypt gebraucht habe

Im Video wird beschrieben man soll dir ganze http Sektion löschen, aber den Rest der Einträge brauche ich ja sowieso wieder.
Ich habe Anfangs auch die gesamt Sektion gelöscht mit den genau demselben Ergebnis, dass der Core nicht gestartet ist. Nach einigen Versuchen, konnte ich die beiden Zeilen als “Schuldig” identifizieren. Die beiden Zeilen werden zum Starten gebraucht.

Also so funktioniert der Neustart des Cores:

# Loads default set of integrations. Do not remove.
default_config:

http:
#  base_url: https://blabla.duckdns.org:8123
  ssl_certificate: /ssl/fullchain.pem
  ssl_key: /ssl/privkey.pem
  use_x_forwarded_for: true
  trusted_proxies:
    - 172.30.33.0/24
  cors_allowed_origins:
    - https://google.com
    - https://www.home-assistant.io
  ip_ban_enabled: true
  login_attempts_threshold: 5

# Load frontend themes from the themes folder
frontend:
  themes: !include_dir_merge_named themes

und so funktioniert er nicht mehr.

# Loads default set of integrations. Do not remove.
default_config:

http:
#  base_url: https://blabla.duckdns.org:8123
#  ssl_certificate: /ssl/fullchain.pem
#  ssl_key: /ssl/privkey.pem
  use_x_forwarded_for: true
  trusted_proxies:
    - 172.30.33.0/24
  cors_allowed_origins:
    - https://google.com
    - https://www.home-assistant.io
  ip_ban_enabled: true
  login_attempts_threshold: 5

# Load frontend themes from the themes folder
frontend:
  themes: !include_dir_merge_named themes

Und die beiden Zeilen um die es geht, braucht man für das Cloudflare Addon definitiv nicht. Und das DuckDNS Addon ist deinstalliert, das sollte es also auch nicht mehr brauchen. Außerdem möchte ich wirklich den lokalen Zugriff mit http haben (das braucht meine NUKI Integration so)

Hinweis: base_url stammt auch noch von der Duck DNS Installation, aber nach der Deaktivierung von duckDNS, konnte der Problemlos entfernt werden

Ja mir ging es u.a. um diesen Eintrag. Da du nur von 2 Zeilen gesprochen hattest die du gelöscht hast, diese Zeile muss natürlkich auch raus. Aber hast du ja.

Ich kenne das Vorgehen mit DuckDns nicht, hab einen anderen DNS Provider (OVH) aber Prinzip sollte gleich sein.

Ich vermute die DuckDNS Lösung läuft auch mit NGinx? Läuft das NGinx denn noch bei dir? Oder was anderes was die SSL Zertifikate braucht?

Falls dein Home Assistant virtuell läuft, d.h. du einfach einen Snapshot / Backup machen kannst wäre
mein Tip (ohne gewähr) den NGinx deinstallieren und die ganze HTTP: sektion rauswerfen. Aber das ist nur ne Vermutung, könnte also auch was zerschiessen wenn ich falsch liege leider.

Nein, ausser DuckDNS hatte ich nichts weiter installiert. Also, kein NGinX.

Ich habe mir mittlerweile überlegt , ob es einfach bei der Deinstallation von DuckDNS einen Fehler gab und vielleicht irrtümlich nicht alles deinstalliert wurde.
Habe probehalter eine neue SD-Karte genommen home assistant neu installiert und ein voll Backup zurückgespielt… Aber leider keinen Erfolg. Es ist immer noch derselbe Fehler.

Nie etwas in der Configuration.yaml ändern und neustarten, ohne vorher in den Entwicklerwerkzeugen die Konfiguration zu prüfen.

Tja, genau das habe ich ja gemacht. Und es hat mir grün angezeigt

Und Du hast auch schon einen kompletten Systemstart gemacht, also unter “Erweiterte Optionen/System neu starten”?

Hmm, wenn die Oberfläche nicht mehr funktioniert, weil der Core nicht mehr started, wie soll ich da über die Oberfläche einen neu-start auslösen ?

Ich hab’s dann über die SSH Shell gemacht “ha host reboot”

Als die Zeilen wieder drin waren und Du den Core neu gestartet hattest, lief er doch. Dann hättest Du sicherlich auch über die Oberfläche neustarten können.

Und gebracht hat es nun nichts?

Ja, du hast recht. Als die Zellen drin waren konnte ich den Core neu starten. Und dann geht es natürlich auch über die Oberfläche wieder neu zu starten. Der Punkt ist halt eben, die beiden Zeilen sollen raus, damit die Oberfläche über die lokale IP ohne https laufen kann.
Da beisst sich die Katze in den Schwanz.

Die Frage ist: wenn DuckDNS deaktiviert oder gar deinstalliert ist, warum kann ich die Zeilen nicht löschen?

Der Gedanke ist, die Zeilen über die Oberfläche rauszunehmen und dann direkt einen Systemneustart auszuführen. Letztlich wird ja nur dann wirklich alles von HA neugestartet, und das dann ohne die Zeilen. Ist natürlich auch nur ein Versuch …

Hallo Heiko,

Ich verstehe deinen Ansatz, habe es eben ausprobiert und meine Zweifel haben sich bestätigt. Es macht keinen Unterschied. Core startet eben nicht. Die Weboberfläche ist nicht mehr verfügbar.

Ja, klar, die Chancen standen ja auch nicht besonders gut, aber Versuch macht klug … Und Dein Fall ist ja schon ziemlich kurios.

Sehen wir mal, was bei mir anders war. Ich bin vor längerer Zeit auch umgestiegen. Ich hab Cloudflare installiert, die besagten Zeilen aus der Configuration.yaml rausgenommen und Duckdns gestoppt, aber nicht gleich deinstalliert. Vielleicht solltest Du den Spaß noch mal einrichten und dann das Add-on erst mal nur stoppen, aber nicht löschen.

Auch das hab ich mittlerweile schon erfolglos probiert :wink:

Dann wirst Du wohl so langsam zum aussichtslosen Fall. :wink: Ich denke aber trotzdem noch weiter nach, und vielleicht hat ja jemand anders noch eine Idee.

1 „Gefällt mir“

Es wäre schön wenn man hier versucht zu helfen, dann vom OP / Fragesteller auch mit den Antworten auf seine Fragen versorgt wird :slight_smile: :crazy_face: Und das hilft im Endeffekt ja dann auch hauptsächlich dem Fragesteller!

Also, läuft bei dir noch Nginx als Add On? Das müsste dann weg.
Und schau nach ob das DuckDns Add on dann doch noch läuft vielleicht?

UND. verdammt :slight_smile:

Warum hast du nicht den gesamten HTTP Part rausgeworfen wie es auch in Simons Video gezeigt wurde? grummel Sondern nur die 2-3 Zeilen?

Ach so, edit: Das das System mit den beiden Zeilen läuft, aber ohne nicht spricht sehr dafür, das von dem DuckDns oder Nginx Geraffel noch was aktiv ist bei dir. Das müssen wir los werden

Nächste Frage:
Was steht hier bei dir drin:

Aaaalso…

NGinX lief bei mir gar nie… Ist also gar nicht installiert…

DuckDNS läuft definitiv nicht… Ich habe es erstmal deaktiviert (anfangs)… Dann, nachdem ich den oben beschrieben Fehler hatte und erkannt habe wie ich Ihn beheben kann (die 2 Zeilen wieder rein), dachte ich auch, ich muss DuckDNS komplett loswerden, weil vielleicht noch was da ist, was weiterläuft.
Also DuckDNS beendet / System Neustart / DuckDNS de-installiert / Neustart / Zeilen entfernt / Neustart → Fehler
Die 2 Zeilen wieder rein / core restart → Weboberfläche läuft

Mittlerweile lösche ich die Zeilen nicht mehr, sondern kommentiere nur aus.

Die http Section habe ich nicht komplett rausgeworfen, weil ich das Video bis zum Ende geschaut habe, bevor ich irgendwas geändert habe… Und am Ende macht man die anderen Einträge wieder rein. Also habe ich nur gelöscht was raus soll und drin gelassen was ohnehin wieder rein musste

Das sonderbare ist (um deine letzte Frage zu beantworten), ich habe versucht beim lokalen Netzwerk eine URL mit http anzugeben und habe direkt in der Weboberfläche eine Meldung bekommen, dass ich dort https angeben soll, weil Zertifikate geladen sind, die mit der URL, die hier angegeben wird übereinstimmen müssen…

Mittlerweile habe ich einen Ansatz der sich lohnt auszuprobieren. Ich teste das mal und gebe hinterher ein Update.

Ich denke ich habs gelöst.

Also im SSL Verzeichnis hat das duckDNS Plugin die beiden KeyFiles gespeichert, die in den beiden genannten Zeilen refenziert werden. Sind die beiden Zeilen drin, werden die Zertifikate geladen und ich bekomme die oben genannte Meldung in der Weboberfläche, wenn ich die Lokale URL ohne http setzen möchte…

Also habe ich jetzt die beiden KeyFiles umbenannt (hätte sie auch löschen können) und einmal System Neustart…

Damit sind die Zertifikate nicht mehr geladen… Und ich kann die lokale URL auf http ändern…
HA Neustart (Core restart)…: Das ging gut. :+1:
Also habe ich die beiden Zeilen auskommentiert. Und wieder Core restart … Auch das ging gut :partying_face:

Scheint als hätte ich es endlich in den Griff bekommen. :partying_face: :tada:

Auch wenn’s lange gedauert hat und das Problem seltsam war. Danke für Eure Unterstützung !