Adminoberflaeche erreichbar machen - ueber einen Namen oder ueber die Wurzel
Unter einem Unterpfad wie /npm bleibt die Oberflaeche des Proxy Managers
weiss. Sie ist eine Single-Page-Anwendung und laedt ihre Dateien ueber
absolute Pfade; nur die Startseite kommt an, alles Weitere landet bei
dem, was auf der Wurzel liegt. An einem laufenden Proxy Manager
gemessen: /npm liefert 200, /images/... dagegen 502. Checkmk funktioniert
unter /cmk/ nur deshalb, weil es fuer einen URL-Praefix gebaut ist.
"proxy admin" kann beides, und beides kommt mit dem einen freien Port
aus:
proxy admin --domain npm.example.local
Eigener Proxy-Host, Oberflaeche auf "/". Welcher Server-Block
greift, entscheidet der Name (SNI), nicht der Port. Setzt
Namensaufloesung voraus - notfalls eine Zeile in der hosts-Datei.
proxy admin --root
Ohne Namensaufloesung: die Wurzel zeigt auf die Adminoberflaeche,
das bisherige Ziel wandert auf /<site>. Checkmk belegt ohnehin nur
seinen Site-Pfad.
proxy admin --root --off nimmt das wieder zurueck
proxy admin zeigt den Stand
Beide Wege sind ueber die IP ohne SNI durchgemessen: Startseite,
/images, /login und die Anmeldung per POST /api/tokens antworten mit
200. In der Oberflaeche liegt das unter Proxy-Hosts >
"Adminoberflaeche erreichbar machen".
Dabei ist ein aelterer Fehler aufgefallen: "die" ruft exit auf, und die
Oberflaeche ruft cmd_* direkt auf - ein Fehlerfall beendete damit die
ganze Oberflaeche, statt ihn anzuzeigen. Betraf auch bestehende
Menuepunkte wie "Einzelheiten eines Proxy-Hosts" (stirbt bei unbekanntem
Namen) und die Jobliste. Alle 24 Aufrufe laufen jetzt in einer Subshell.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1227,6 +1227,7 @@ erzwingen, HTTP/2 und Websockets einschalten und den empfohlenen
|
||||
| `proxy edit --id N …` | vorhandenen Proxy-Host ändern – nur die angegebenen Felder |
|
||||
| `proxy default --domain X` | HTTPS über die blanke IP ermöglichen (spiegelt X in einen Standard-Server) |
|
||||
| `proxy default --off` | diese Spiegelung wieder entfernen |
|
||||
| `proxy admin --domain X` / `--root` | Adminoberfläche erreichbar machen – per Name oder über die Wurzel |
|
||||
| `proxy reload` | nginx die Konfiguration neu einlesen lassen – ohne Unterbrechung |
|
||||
| `proxy restart` | den Proxy-Manager-Container neu starten |
|
||||
|
||||
@@ -1606,6 +1607,76 @@ dahinter braucht länger, und ein „fertig" wäre sonst gelogen.
|
||||
In der Oberfläche liegt beides unter **Proxy-Hosts → Proxy Manager neu starten
|
||||
/ nginx neu laden**.
|
||||
|
||||
### 10.11 Die Adminoberfläche des Proxy Managers erreichbar machen
|
||||
|
||||
Sie ist eine Single-Page-Anwendung und lädt ihre Dateien über **absolute**
|
||||
Pfade:
|
||||
|
||||
```html
|
||||
<link rel="preload" href="/images/logo-no-text.svg" ...>
|
||||
```
|
||||
|
||||
Unter einem Unterpfad wie `/npm` kommt deshalb nur die Startseite an, alles
|
||||
Weitere landet bei dem, was auf der Wurzel liegt – im Browser eine **weiße
|
||||
Seite**. Gemessen an einem laufenden Proxy Manager:
|
||||
|
||||
| Zugriff | `/` | `/images/…` | Anmeldung (`POST /api/tokens`) |
|
||||
|---|---|---|---|
|
||||
| Unterpfad `/npm` | 200 | **502** | – |
|
||||
| eigener Name | 200 | 200 | 200 |
|
||||
| Wurzel | 200 | 200 | 200 |
|
||||
|
||||
Checkmk funktioniert unter `/cmk/` nur deshalb, weil es für einen URL-Präfix
|
||||
gebaut ist und ihn in jede erzeugte Adresse einsetzt. Der Proxy Manager kann
|
||||
das nicht. Es bleiben zwei Wege – **beide kommen mit dem einen freien Port
|
||||
aus**:
|
||||
|
||||
**Variante A – eigener Name** (wenn es Namensauflösung gibt):
|
||||
|
||||
```bash
|
||||
./scripts/cmk-manage.sh proxy admin --domain npm.example.local
|
||||
./scripts/cmk-manage.sh proxy reload
|
||||
```
|
||||
|
||||
Legt einen Proxy-Host an, der auf `127.0.0.1:81` zeigt – die Oberfläche liegt
|
||||
dort auf `/`, alles funktioniert. Checkmk bleibt unter seinem eigenen Namen
|
||||
oder unter der IP erreichbar; welcher Server-Block greift, entscheidet der
|
||||
Name (SNI), nicht der Port. Ohne DNS genügt eine Zeile in der `hosts`-Datei
|
||||
der Arbeitsplätze.
|
||||
|
||||
**Variante B – Wurzel** (wenn es *keine* Namensauflösung gibt):
|
||||
|
||||
```bash
|
||||
./scripts/cmk-manage.sh proxy admin --root
|
||||
./scripts/cmk-manage.sh proxy default --domain <name> --restart # falls eingerichtet
|
||||
```
|
||||
|
||||
Die Wurzel des vorhandenen Proxy-Hosts zeigt danach auf die Adminoberfläche,
|
||||
das bisherige Ziel wandert auf `/cmk` (bzw. `CMK_SITE_ID`):
|
||||
|
||||
```
|
||||
https://172.0.250.82/ Adminoberfläche des Proxy Managers
|
||||
https://172.0.250.82/cmk/ Checkmk
|
||||
```
|
||||
|
||||
Das geht, weil Checkmk nur seinen Site-Pfad belegt – der Rest der Wurzel ist
|
||||
frei. Zurück:
|
||||
|
||||
```bash
|
||||
./scripts/cmk-manage.sh proxy admin --root --off
|
||||
```
|
||||
|
||||
> Bei Variante B liegt die **Anmeldemaske offen im Netz**. Für die Dauer einer
|
||||
> Einrichtung ist das vertretbar; danach entweder zurücknehmen oder den Zugang
|
||||
> per Firewall auf das Adminnetz begrenzen.
|
||||
|
||||
Weitere Angaben: `--id N` bzw. `--host NAME`, wenn es mehrere Proxy-Hosts gibt,
|
||||
`--path /pfad` für einen abweichenden Site-Pfad, `--cert self|letsencrypt|none`
|
||||
bei Variante A. Ohne Angabe zeigt `proxy admin` den Stand.
|
||||
|
||||
In der Oberfläche liegt beides unter **Proxy-Hosts → Adminoberfläche erreichbar
|
||||
machen**.
|
||||
|
||||
---
|
||||
|
||||
## 11. Proxy Manager lokal einrichten (Terminal-Browser)
|
||||
|
||||
Reference in New Issue
Block a user