no_proxy vergleicht Namen, keine Adressen - NPM_API_HOST
Der Kern des Problems, und die Stelle, an der man am laengsten sucht: "no_proxy=localhost" deckt eine Anfrage an 127.0.0.1 NICHT ab, und umgekehrt genauso wenig. An curl 7.88 nachgemessen: no_proxy an 127.0.0.1 an localhost localhost ueber den Proxy direkt 127.0.0.1 direkt ueber den Proxy In Firmennetzen steht oft nur "localhost" in der Ausnahmeliste - dann laeuft ausgerechnet der Zugriff auf die Schnittstelle des Proxy Managers ueber den Proxy, obwohl no_proxy dem Anschein nach gesetzt ist. Deshalb NPM_API_HOST: damit laesst sich die Schnittstelle als "localhost" ansprechen, ohne die Ausnahmeliste zu aendern - was im Kundennetz oft nicht in der eigenen Hand liegt. Vorgabe bleibt 127.0.0.1, denn das kommt ohne Namensaufloesung aus und zeigt immer auf IPv4. "noproxy" prueft jetzt beide Schreibweisen einzeln und sagt, welche fehlt, statt nur "geht nicht" zu melden: http://127.0.0.1:81/ geht an den Proxy http://localhost:81/ direkt [ WARN ] Nur 'localhost' ist ausgenommen, 127.0.0.1 nicht. Bis das geaendert ist, hilft sofort: cmk-manage.sh config set NPM_API_HOST localhost Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -553,6 +553,7 @@ Die wichtigsten Schalter:
|
||||
| `TZ` | Zeitzone, z. B. `Europe/Berlin` |
|
||||
| `NPM_ENABLED` | `on`/`off` – soll der Proxy-Manager-Container überhaupt laufen? Siehe [12.4](#124-proxy-manager-ganz-abschalten-externer-nginx) |
|
||||
| `NPM_ADMIN_PORT` | Port der Proxy-Manager-Oberfläche (Vorgabe 81) – nur über `npm-port` bzw. das Menü ändern |
|
||||
| `NPM_API_HOST` | Name für die Schnittstelle (`127.0.0.1` oder `localhost`) – siehe [Kapitel 14.6](#146-netze-mit-zwangsproxy-api-fehler-der-keiner-ist) |
|
||||
| `NPM_ADMIN_URL` | Startseite des Terminal-Browsers; leer = automatisch aus `NPM_ADMIN_PORT` |
|
||||
| `BACKUP_DIR` | Ablage für **manuelle** Backups (Vorgabe `./backups`); geplante Jobs haben eigene Pfade |
|
||||
| `BACKUP_AUTO` | `on`/`off` – sollen die Backup-Jobs per cron laufen? |
|
||||
@@ -2665,6 +2666,37 @@ Erkannt wird das nicht geraten, sondern an dem, was `curl -v` selbst sagt
|
||||
(`Uses proxy env variable http_proxy == …`) – dafür muss auf der Zieladresse
|
||||
nichts laufen.
|
||||
|
||||
### `no_proxy` vergleicht Namen, keine Adressen
|
||||
|
||||
Das ist der Punkt, an dem man am längsten sucht: `no_proxy=localhost` deckt
|
||||
eine Anfrage an `127.0.0.1` **nicht** ab – und umgekehrt. Nachgemessen mit
|
||||
curl 7.88:
|
||||
|
||||
| `no_proxy` | Anfrage an `127.0.0.1` | Anfrage an `localhost` |
|
||||
|---|---|---|
|
||||
| `localhost` | **geht an den Proxy** | direkt |
|
||||
| `127.0.0.1` | direkt | **geht an den Proxy** |
|
||||
| beide | direkt | direkt |
|
||||
|
||||
In Firmennetzen steht oft nur `localhost` in der Ausnahmeliste. Dann läuft
|
||||
ausgerechnet der Zugriff auf die Schnittstelle des Proxy Managers über den
|
||||
Proxy. `noproxy` prüft deshalb **beide** Schreibweisen und sagt, welche fehlt:
|
||||
|
||||
```
|
||||
Gehen lokale Anfragen daran vorbei?
|
||||
http://127.0.0.1:81/ geht an den Proxy
|
||||
http://localhost:81/ direkt
|
||||
|
||||
[ WARN ] Nur 'localhost' ist ausgenommen, 127.0.0.1 nicht.
|
||||
Bis das geaendert ist, hilft sofort:
|
||||
cmk-manage.sh config set NPM_API_HOST localhost
|
||||
```
|
||||
|
||||
`NPM_API_HOST` bestimmt, unter welchem Namen die Schnittstelle angesprochen
|
||||
wird – Vorgabe `127.0.0.1`, weil das ohne Namensauflösung auskommt und immer
|
||||
auf IPv4 zeigt. Lässt sich die Ausnahmeliste im Kundennetz nicht ändern, ist
|
||||
das Umstellen auf `localhost` der kürzere Weg.
|
||||
|
||||
**In der laufenden Sitzung** – ein Programm kann die Umgebung seiner Elternshell
|
||||
nicht ändern, deshalb der Umweg über `eval`:
|
||||
|
||||
|
||||
Reference in New Issue
Block a user