Terminal-Browser: nicht erreichbare Startseite wird vorab gemeldet

Symptom war ein scheinbar haengender Browsh: Logo, "Waiting for Firefox
to connect...", danach schwarz. Ursache ist nicht der Browser - Browsh
laeuft (Strg+Q kehrt ins Menue zurueck) - sondern die Startseite. Auf
http://127.0.0.1:81 antwortet nichts, solange der Proxy-Manager-Container
nicht laeuft, und ein Terminal-Browser zeigt dann keine Fehlerseite,
sondern gar nichts.

cmd_browser prueft die Startseite deshalb vorher und nennt die Ursache
statt stumm zu starten. Unterschieden werden: Proxy Manager
abgeschaltet (NPM_ENABLED=off), Container fehlt, Container gestoppt,
Container laeuft aber antwortet nicht, tote Checkmk-Oberflaeche auf
Port 5000 und externe Adressen. Jeweils mit dem passenden naechsten
Kommando. Ueberspringen mit --no-check; in der Oberflaeche erscheint
dieselbe Diagnose als Dialog mit der Wahl, trotzdem zu starten.

Dabei gefunden und behoben - an drei Stellen dieselbe Falle:
curl gibt mit -w '%{http_code}' im Fehlerfall selbst schon "000" aus.
Das zusaetzliche "|| echo 000" haengte einen zweiten Wert an, sodass
der Vergleich nie zutraf. Betroffen waren die neue Erreichbarkeits-
pruefung sowie http_code() und die Registry-Erreichbarkeit im
Zugangsdaten-Test ("image test") - dort waere ein nicht erreichbarer
Endpunkt als "unerwartete Antwort" statt als "nicht erreichbar"
gemeldet worden. Jetzt wird der Fehler der Zuweisung abgefangen.

Alle vier Diagnosezweige im Terminal durchgespielt, der
Zugangsdaten-Test zur Gegenprobe erneut gegen Docker Hub gelaufen.
Dokumentiert als Abschnitt 11.3 in beiden Sprachfassungen.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-09-20 15:32:39 +02:00
co-authored by Claude Opus 5
parent 2d645bcc0b
commit c98caaaf35
4 changed files with 169 additions and 11 deletions
+39 -3
View File
@@ -1007,7 +1007,42 @@ vollqualifiziert, damit Podman sie nicht bei `registry.access.redhat.com` sucht.
In der ncurses-Oberfläche liegt alles unter **„Terminal-Browser (Proxy Manager
lokal bedienen)"**.
### 11.3 Grenze: Datei-Upload
### 11.3 Schwarzes Fenster: die Startseite antwortet nicht
Bleibt nach `Starting Browsh …` / `Waiting for Firefox to connect…` alles
schwarz, liegt es fast immer daran, dass **auf der Startseite nichts
antwortet** – nicht am Browser. Ein Terminal-Browser zeigt in dem Fall keine
Fehlerseite, sondern gar nichts. Dass Browsh selbst läuft, merkt man daran,
dass `Strg+Q` noch ins Menü zurückführt.
Das Skript prüft die Startseite deshalb vorher und nennt die Ursache:
```
[ WARN ] Auf http://127.0.0.1:81 antwortet nichts.
Ein Terminal-Browser zeigt dann nur eine schwarze Seite.
Das ist die Oberflaeche des NGINX Proxy Managers.
Er ist abgeschaltet (NPM_ENABLED=off):
./scripts/cmk-manage.sh npm-enable on
Trotzdem starten? [j/N]
```
Unterschieden werden:
| Lage | Meldung |
|---|---|
| Proxy Manager abgeschaltet | Hinweis auf `npm-enable on` |
| Container fehlt oder gestoppt | Hinweis auf `up` |
| Container läuft, antwortet aber nicht | Hinweis auf `logs` und `npm-port` |
| Checkmk-Oberfläche (Port 5000) tot | Hinweis auf `up` bzw. `sites` |
| externe Adresse | Hinweis auf den Netzzugang des Hosts |
Mit `--no-check` lässt sich die Prüfung überspringen. In der Oberfläche
erscheint dieselbe Diagnose als Dialog mit der Wahl, trotzdem zu starten oder
im Menü eine andere Startseite einzugeben.
### 11.4 Grenze: Datei-Upload
Ein Terminal-Browser kann keinen Dateiauswahl-Dialog des Betriebssystems
öffnen. Für **Let's Encrypt** ist das egal (dort werden nur Formularfelder
@@ -1066,7 +1101,7 @@ sudo ./scripts/cmk-manage.sh browser --engine shell
> E-Mail-Adresse und Kennwort. Das geht am einfachsten im Browser
> (`cmk-manage.sh browser`); danach funktioniert die API mit den neuen Daten.
### 11.4 Alternative: SSH-Tunnel
### 11.5 Alternative: SSH-Tunnel
Falls SSH auf die Maschine möglich ist, ist der Tunnel der bequemste Weg –
dann bedient man die Oberfläche im gewohnten Browser:
@@ -1833,8 +1868,9 @@ Checkmk-Werksnotizen (Werks/Release Notes) lesen.
| Adminoberfläche aus dem LAN nicht erreichbar | Port 81 gesperrt. Auf einen freien Port legen: `cmk-manage.sh npm-port 10443` und in der Firewall freigeben |
| Nach `npm-port` antwortet der neue Port nicht | Proxy Manager wurde nicht neu gestartet: `cmk-manage.sh restart`; Datei prüfen: `data/npm/data/nginx/custom/http.conf` |
| `cmk-manage.sh` bricht mit „CMK_RUNTIME … ist nicht installiert" ab | wird nur noch gewarnt und selbst gesucht; sauber setzen mit `config set CMK_RUNTIME auto` |
| Browser bleibt schwarz, „Waiting for Firefox to connect…" | Die Startseite antwortet nicht – meist läuft der Proxy Manager nicht. Das Skript meldet das jetzt vorab, siehe [Kapitel 11.3](#113-schwarzes-fenster-die-startseite-antwortet-nicht) |
| Proxy-Manager-Oberfläche im Browser leer / nur Textfragmente | Textbrowser ohne JavaScript verwendet. `cmk-manage.sh browser --engine browsh` (bzw. `carbonyl`) nehmen |
| Selbstsigniertes Zertifikat lässt sich im Terminal-Browser nicht hochladen | Datei-Dialoge gibt es dort nicht – Upload über die API, siehe [Kapitel 11.3](#113-grenze-datei-upload) |
| Selbstsigniertes Zertifikat lässt sich im Terminal-Browser nicht hochladen | Datei-Dialoge gibt es dort nicht – Upload über die API, siehe [Kapitel 11.4](#114-grenze-datei-upload) |
| `browser` meldet „braucht ein echtes Terminal" | Aufruf aus Pipe/Skript. Direkt auf der Konsole oder per SSH aufrufen; nur der Bau geht headless mit `--build-only` |
| Menüpunkt bricht mit einer Fehlermeldung in die Shell ab | behoben: fehlende Container, Sites oder Backups werden jetzt als Dialog gemeldet, die Oberfläche bleibt offen |
| `job auto on` meldet fehlende Rechte | `/etc/cron.d/` braucht root: mit `sudo` aufrufen, oder die ausgegebenen Zeilen selbst übernehmen |