Anmeldung fehlgeschlagen: sagen, woran es liegt
Die Meldung nannte bisher nur die aufgerufene Adresse. Antwort,
HTTP-Code und curls eigene Fehlermeldung wurden weggeworfen - also
genau das, woran man es erkennt. Uebrig blieb Raten.
Jetzt werden alle drei eingesammelt und ausgewertet:
HTTP 400/401 Der Proxy Manager hat geantwortet und abgelehnt. Damit
ist auch gesagt, dass Port, Netz und Proxy stimmen. Die
Meldung der Schnittstelle steht dabei ("Invalid email or
password"), dazu der Hinweis auf npm-reset, falls das
Konto nie angelegt wurde.
HTTP 000 Gar keine Antwort. Der Reihe nach wird geprueft und
benannt: NPM_ENABLED=off, Container laeuft nicht, auf
dem Port lauscht nichts, oder er antwortet nur nicht.
HTTP 5xx Es hat etwas geantwortet, aber nicht wie erwartet.
Dazu: ist die Antwort HTML statt JSON, wird das ausdruecklich gesagt und
die erste Zeile gezeigt. Damit ist auf einen Blick erkennbar, dass ein
HTTP-Proxy geantwortet hat und nicht der Proxy Manager - im Test
"<html><head><title>502 Proxy Error</title>...".
Beim Pruefen der Faelle ist ein Fehler aufgefallen: container_running
benutzt RUNTIME ohne Absicherung. War die Runtime nicht erkannt, brach
die Fehlerdiagnose unter "set -u" mit "RUNTIME ist nicht gesetzt" ab -
ausgerechnet die Ausgabe, die helfen soll. Ohne erkannte Runtime lautet
die Antwort jetzt schlicht "nein".
Nebenbei korrigiert: NPM antwortet bei falschen Zugangsdaten mit 400,
nicht mit 401 - der erste Entwurf fing den haeufigsten Fall nicht.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1197,6 +1197,43 @@ neu anlegt. **Proxy-Hosts, Weiterleitungen und Zugriffslisten sind damit weg**
|
||||
– die Zertifikate bleiben. Das Kommando zeigt vorher genau das an und fragt
|
||||
nach. Die Proxy-Hosts lassen sich mit `proxy add` in einem Aufruf neu anlegen.
|
||||
|
||||
### 10.1.1 Wenn die Anmeldung fehlschlägt
|
||||
|
||||
Die Meldung nennt inzwischen selbst, woran es liegt – sie zeigt den HTTP-Code,
|
||||
die Antwort der Schnittstelle und, falls gar nichts antwortete, was curl
|
||||
gemeldet hat:
|
||||
|
||||
```
|
||||
[FEHLER] Anmeldung am Proxy Manager fehlgeschlagen.
|
||||
Aufgerufen : http://127.0.0.1:81/api/tokens
|
||||
Konto : admin@example.com
|
||||
HTTP-Code : 400
|
||||
Antwort : Invalid email or password
|
||||
|
||||
Woran es liegen kann
|
||||
Der Proxy Manager hat geantwortet und die Anmeldung abgelehnt.
|
||||
Der Weg dorthin stimmt also - Port, Netz und Proxy sind in Ordnung.
|
||||
```
|
||||
|
||||
Das ist die halbe Miete: **hat es geantwortet, liegt es nicht am Netz.**
|
||||
Die andere Richtung sieht so aus:
|
||||
|
||||
| HTTP-Code | Bedeutung | Nächster Schritt |
|
||||
|---|---|---|
|
||||
| `400`/`401` | Der Proxy Manager lehnt ab | Konto/Kennwort in der `.env`, oder das Konto gibt es nicht → `npm-reset` |
|
||||
| `000` | gar keine Antwort | Container aus? Port frei? – der Befehl prüft beides und sagt, welches zutrifft |
|
||||
| `5xx` + HTML | etwas anderes antwortet | meist der HTTP-Proxy; die erste Zeile der HTML-Antwort wird mit angezeigt |
|
||||
|
||||
Antwortet HTML statt JSON, steht es ausdrücklich da – samt erster Zeile, an der
|
||||
man erkennt, wer da geantwortet hat:
|
||||
|
||||
```
|
||||
Die Antwort ist HTML, kein JSON - sie stammt also nicht von der
|
||||
Schnittstelle des Proxy Managers, sondern von etwas davor
|
||||
(HTTP-Proxy, anderer Dienst auf dem Port). Erste Zeile:
|
||||
<html><head><title>502 Proxy Error</title></head>...
|
||||
```
|
||||
|
||||
### 10.2 Proxy-Host anlegen – ohne Browser
|
||||
|
||||
Die Weboberfläche lässt sich im Terminal-Browser nur mühsam bedienen; Formulare
|
||||
|
||||
Reference in New Issue
Block a user