README: advanced_config war als "Vorgabe unten" angekuendigt, stand aber

nirgends

Die proxy-Kommandos waren dokumentiert, in der Optionstabelle verwies
"--advanced" aber auf eine Erklaerung, die es nicht gab.

Jetzt steht der Vorgabeblock woertlich in Abschnitt 10.2, mit einer
Begruendung je Zeile:
  client_max_body_size 0     grosse Agent-Uploads und Bakery-Pakete
  proxy_read_timeout 300s    lange laufende Checkmk-Ansichten
  X-Forwarded-Proto          sonst erzeugt Checkmk http://-Verweise
  X-Forwarded-For            sonst steht nur die Proxy-Adresse im Log
Dazu, dass --advanced den Block ERSETZT (nicht ergaenzt), dass
--advanced '' ihn leert, und dass der Assistent immer die Vorgabe nimmt.

Gegengeprueft, dass der Block die JSON-Kodierung unbeschadet uebersteht:
die erzeugte Nutzlast ist gueltiges JSON, advanced_config kommt mit vier
Zeilen an, und $scheme sowie $proxy_add_x_forwarded_for bleiben als
nginx-Variablen erhalten - sie werden von der Shell nicht ersetzt.
Beim Live-Test gegen die echte Instanz war genau dieser Vorgabeblock im
Einsatz; dass nginx ihn geladen hat, zeigte sich daran, dass 443
danach antwortete und 80 dorthin umleitete.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-09-20 17:50:02 +02:00
co-authored by Claude Opus 5
parent b4efbba050
commit fd96126199
2 changed files with 67 additions and 1 deletions
+34 -1
View File
@@ -1116,9 +1116,42 @@ Optionen von `proxy add`:
| `--scheme http\|https` | `http` | Schema zum Ziel |
| `--cert self\|letsencrypt\|none` | `self` | Zertifikat |
| `--update` | – | vorhandenen Eintrag ersetzen |
| `--advanced TEXT` | Vorgabe unten | eigener nginx-Abschnitt |
| `--advanced TEXT` | siehe unten | eigener nginx-Abschnitt |
| `--no-force-ssl`, `--no-http2`, `--no-websockets`, `--no-block-exploits` | – | Abschalter |
#### Der `advanced_config`-Abschnitt
Ohne `--advanced` setzt `proxy add` diesen Block – dieselben vier Zeilen, die
man sonst im Reiter **Advanced** von Hand einträgt:
```nginx
client_max_body_size 0;
proxy_read_timeout 300s;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
```
Wozu die vier:
| Zeile | Grund |
|---|---|
| `client_max_body_size 0` | hebt die Größenbegrenzung auf – sonst scheitern große Agent-Uploads und Bakery-Pakete |
| `proxy_read_timeout 300s` | lange laufende Checkmk-Ansichten laufen sonst in eine Zeitüberschreitung |
| `X-Forwarded-Proto` | Checkmk erzeugt sonst `http://`-Verweise hinter dem HTTPS-Proxy |
| `X-Forwarded-For` | im Checkmk-Zugriffsprotokoll steht sonst nur die Proxy-Adresse statt der echten Client-IP |
Ersetzen (nicht ergänzen) lässt sich der Block mit `--advanced`:
```bash
sudo ./scripts/cmk-manage.sh proxy add --domain checkmk.example.com \
--advanced 'client_max_body_size 0;
proxy_read_timeout 600s;'
```
Mit `--advanced ''` bleibt das Feld leer. Der Assistent in der Oberfläche
verwendet immer die Vorgabe oben; wer etwas anderes braucht, nimmt die
Kommandozeile oder passt den Eintrag anschließend im Proxy Manager an.
In der Oberfläche liegt derselbe Ablauf unter **proxy → „Proxy-Host anlegen"**
(Name → Zielport → Zertifikat) sowie unter **Einstellungen → NGINX Proxy
Manager → „>> Proxy-Hosts anlegen/verwalten"**.