docs: der Proxy-Block sitzt -- gemessen, nicht geglaubt
Eingetragen und gespeichert. tools/proxy-pruefen.ps1 sagt jetzt fuenf von
fuenf:
[ok] /f/ Cache-Control public, max-age=300
[ok] /t/ Cache-Control public, max-age=60
[ok] /api/ mit Token -> 200 HTTP 200
[ok] /api/ dieselbe Adresse ohne Token -> 401 HTTP 401
[ok] /api/exists?pfad ohne Token -> 401 HTTP 401
Und die Folgen, die daran hingen, einzeln gegengeprueft:
/api/exists/…webp ohne Token 200 mit voller Auskunft -> 401
dieselbe Adresse MIT Token 401 (zwischengespeichert) -> 200
Vorschau nach erneutem Upload bis zu 4 h alt -> max-age=60
Vary auf /f/ wurde entfernt -> vary: Accept
Die WebP-Aushandlung am selben Bild: ohne Accept image/png mit 12295 B, mit
Accept: image/webp dann image/webp mit 2270 B. Gleiche Adresse, 82 Prozent
weniger -- das ging vorher nur deshalb, weil /f/ als einziger Pfad schon
ausgenommen war.
Was bleibt: /api/exists?pfad=… ist weiterhin die empfohlene Form. Sie ist
dicht, OHNE von dieser Proxy-Einstellung abzuhaengen -- eine Zugangspruefung,
die an einer Zeile in einer fremden Oberflaeche haengt, ist keine. Der Fall hat
gerade gezeigt, wie schnell so eine Zeile fehlt.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
+30
-27
@@ -479,36 +479,39 @@ Portainer also `Compose path: docker-compose.yml`). Gelöscht: drei Volumes und
|
||||
drei Abbilder, rund **670 MB**. Nachgezählt war vorher, dass kein einziges Bild
|
||||
darin lag.
|
||||
|
||||
**Was noch bei dir liegt** — an NPM komme ich ohne Zugang nicht.
|
||||
**Der Proxy ist erledigt.** `docs/npm-advanced.conf` ist eingetragen und
|
||||
gespeichert; `tools/proxy-pruefen.ps1` misst nach, statt vermuten zu lassen:
|
||||
|
||||
> **Fertig zum Einfügen:** `docs/npm-advanced.conf`. Den ganzen Inhalt in
|
||||
> NPM → Proxy-Host → *Advanced* → *Custom Nginx Configuration*, dann **Save**
|
||||
> (erst das schreibt `9.conf` neu — die wahrscheinlichste Erklärung dafür, dass
|
||||
> es beim ersten Anlauf nicht ankam). Danach:
|
||||
>
|
||||
> ```powershell
|
||||
> pwsh -File tools\proxy-pruefen.ps1 -Token d4rk_...
|
||||
> ```
|
||||
>
|
||||
> Das misst und sagt es, statt es vermuten zu lassen. Die Syntax der Datei ist
|
||||
> mit `nginx -t` in einem Wegwerf-Container gegengeprüft.
|
||||
|
||||
Nachgemessen am 11.08.2026, nicht vermutet:
|
||||
|
||||
| Pfad | gemessene `Cache-Control` | heißt |
|
||||
|---|---|---|
|
||||
| `/f/…` | `public, max-age=300` (unsere) | Block sitzt ✅ |
|
||||
| `/t/…` | `max-age=17293` (NPMs) | **Block fehlt** ⬜ |
|
||||
|
||||
Also noch einzutragen:
|
||||
|
||||
```nginx
|
||||
location ^~ /t/ { proxy_cache off; include conf.d/include/proxy.conf; }
|
||||
```
|
||||
[ok] /f/ Cache-Control public, max-age=300
|
||||
[ok] /t/ Cache-Control public, max-age=60
|
||||
[ok] /api/ mit Token -> 200 HTTP 200
|
||||
[ok] /api/ dieselbe Adresse ohne Token -> 401 HTTP 401
|
||||
[ok] /api/exists?pfad ohne Token -> 401 HTTP 401
|
||||
```
|
||||
|
||||
Ohne ihn zeigt die Galerie nach einem erneuten Upload **stundenlang die alte
|
||||
Vorschau** — die Datei selbst ist längst neu, nur das Kachelbild nicht. Kein
|
||||
Datenverlust, aber genau die Sorte Abweichung, die man dem Dienst anlastet.
|
||||
Und die drei Folgen, die daran hingen, gegengeprüft:
|
||||
|
||||
| | vorher | jetzt |
|
||||
|---|---|---|
|
||||
| `/api/exists/…webp` **ohne** Token | `200` mit voller Auskunft | `401` |
|
||||
| dieselbe Adresse **mit** gültigem Token | `401` (zwischengespeichert) | `200` |
|
||||
| Vorschau nach erneutem Upload | bis zu 4 h alt | `max-age=60` |
|
||||
| WebP-Aushandlung auf `/f/` | `Vary` wurde entfernt | `vary: Accept` steht |
|
||||
|
||||
Die WebP-Aushandlung am selben Bild nachgemessen: ohne `Accept` kommen
|
||||
`image/png` mit 12 295 B, mit `Accept: image/webp` kommen `image/webp` mit
|
||||
2 270 B — **82 % weniger, gleiche Adresse.**
|
||||
|
||||
> Was die Sache gelehrt hat, steht in `docs/npm-advanced.conf` als Kommentar:
|
||||
> `assets.conf` greift nach der **Endung** der Adresse, nicht nach ihrer
|
||||
> Bedeutung. Alles, was auf `.webp`, `.png`, `.js` endet, fällt hinein — auch
|
||||
> eine API-Antwort. Und `proxy_cache_key` kennt den `Authorization`-Kopf nicht,
|
||||
> also wird dieselbe Antwort an alle ausgeliefert, in beide Richtungen.
|
||||
>
|
||||
> Deshalb bleibt `/api/exists?pfad=…` die empfohlene Form: sie ist dicht, **ohne**
|
||||
> von dieser Proxy-Einstellung abzuhängen. Eine Zugangsprüfung, die an einer
|
||||
> Zeile in einer fremden Oberfläche hängt, ist keine.
|
||||
|
||||
Außerdem: den Proxy-Host `fivecdn.d4rkst3r.de` löschen — er zeigt auf den toten
|
||||
Port 9100 und gibt 502.
|
||||
|
||||
Reference in New Issue
Block a user