diff --git a/homeassistant/REVERSE_PROXY.md b/homeassistant/REVERSE_PROXY.md index cde9c2a..bdb8d35 100644 --- a/homeassistant/REVERSE_PROXY.md +++ b/homeassistant/REVERSE_PROXY.md @@ -174,6 +174,49 @@ location / { > ganze Aufbau eigentlich herstellen soll. Test: `https:///` (ohne Pfad) muss `404` liefern, > niemals die HA-Anmeldemaske. +## „Cache Assets" im Nginx Proxy Manager: **aus** + +Entschieden am 06.09.2026. Der Schalter bringt hier nichts und kann etwas +kaputtmachen. + +**Er bringt nichts.** Gemessen an der laufenden Instanz, nicht angenommen: + +| Pfad | was Home Assistant selbst schickt | +|---|---| +| `/local/bilder/…webp` | `Cache-Control: public, max-age=2678400` (31 Tage) | +| `/audi_dashboard_static/app/bundle.zip` | kein `Cache-Control`, nur `ETag` und `Last-Modified` | + +Die Fotos sind die einzige nennenswerte statische Last durch den Proxy - und sie +werden vom Browser ohnehin schon einen Monat lang behalten. Alles andere auf der +Freigabeliste ist `/api/…` und die WebSocket-Verbindung; von Asset-Caching wird +das gar nicht berührt. + +**Er kann die Freigabeliste stören.** Die Liste oben besteht aus handgesetzten +`location`-Blöcken, darunter + +```nginx +location ~ ^/local/bilder/[a-z0-9_-]+\.(webp|png|jpg|svg)$ { … } +``` + +Ein Asset-Caching-Block ist seinerseits ein Regex-Block auf genau diese +Endungen. Bei nginx gewinnt unter Regex-Blöcken **der erste passende in der +Reihenfolge der Konfiguration** - steht der erzeugte vor dem eigenen, greift er +statt seiner. Was dann passiert, hängt an seinem Inhalt; ohne `proxy_pass` fiele +er auf das Dateisystem zurück, und die Fahrzeugfotos kämen als 404. *Wie NPM +diesen Block genau erzeugt, ist hier nicht nachgesehen worden - die +Konkurrenzsituation folgt aber schon aus der nginx-Regel und genügt als Grund.* + +**Gefährlich wäre es nicht.** Alles, was ein Zwischenspeicher festhalten könnte, +trägt einen Cache-Brecher: die Fotos `?v=`, das OTA-Bündel +`?v=` und obendrein eine SHA-256-Prüfung auf dem Gerät. Der Kommentar +in `companion-app/src/daten/ota.ts` nennt genau diesen Fall - „der des Geräts +wie einer im Weg". Ein Schalter, der nichts einbringt und eine handgetunte +Location-Liste durcheinanderbringen kann, ist trotzdem ein schlechtes Geschäft. + +**Falls er doch einmal an soll:** danach die Prüfungen aus „Nach der Einrichtung +prüfen" wiederholen, insbesondere den Abruf eines Fahrzeugfotos - dort zeigt +sich eine Verschattung sofort. + ## Home Assistant muss dem Proxy vertrauen (nötig, nicht optional) **Bestätigt korrekt, Stand 2026-08-28.** Beim ersten Live-Test kamen alle Anfragen (egal ob `/api/`,