Nginx Proxy Manager API¶
Stand: 2026-05-25
Ziel¶
Nginx Proxy Manager wird für Reverse-Proxy, TLS-Zertifikate und Access Lists genutzt. Agenten dürfen NPM lesen und bei explizitem Auftrag kontrolliert ändern.
Zugriff¶
| Feld | Wert |
|---|---|
| Host | 10.222.50.10 |
| UI | http://10.222.50.10:81 |
| API | http://10.222.50.10:81/api |
| Credential | Vaultwarden: Lanstyle / Nginx Proxy Manager API |
| Standard Access List | Max (id=1) |
Secrets werden nicht in Git, Wiki oder Prompts gespeichert. Agenten holen Zugangsdaten bei Bedarf aus Vaultwarden.
Empfohlenes Werkzeug¶
Für Bash-basierte Automationen kann das Projekt Erreur32/nginx-proxy-manager-Bash-API genutzt werden:
- Repository:
https://github.com/Erreur32/nginx-proxy-manager-Bash-API - Script:
npm-api.sh - Funktionen: Proxy Hosts listen/anzeigen/anlegen, SSL aktivieren, Access Lists verwalten, API-Export.
Lokale Konfiguration nur in einem nicht versionierten Arbeitsverzeichnis ablegen, zum Beispiel:
NGINX_IP="10.222.50.10"
NGINX_PORT="81"
API_USER="<aus Vaultwarden>"
API_PASS="<aus Vaultwarden>"
Vor produktiven Aenderungen immer:
- NPM-Datenbank sichern:
/data/database.sqlite. - Ziel-Host per API lesen und dokumentieren.
- Nur die nötigen Felder ändern.
- OpenResty-Syntax prüfen.
- HTTP, TLS und Backend testen.
Direkte API-Beispiele¶
Token holen:
curl -sS -X POST http://10.222.50.10:81/api/tokens \
-H 'Content-Type: application/json' \
--data '{"identity":"<user>","secret":"<pass>","scope":"user"}'
Proxy Host anzeigen:
curl -sS http://10.222.50.10:81/api/nginx/proxy-hosts/<id> \
-H "Authorization: Bearer $NPM_TOKEN"
n8n Proxy Host¶
| Feld | Wert |
|---|---|
| Proxy Host ID | 45 |
| Domain | n8n.lanstyle.de |
| Forward | http://10.222.40.35:5678 |
| Zertifikat | 49 |
| SSL Force | aktiv |
| HTTP/2 | aktiv |
| WebSocket | aktiv |
| Block Common Exploits | aktiv |
| Access List | 0 |
Stand 2026-05-27 wurde der Proxy Host per NPM-API wieder mit TLS aktiviert, nachdem OpenResty nur eine Port-80-Konfiguration ausgeliefert hatte. HTTP leitet seitdem per 301 auf HTTPS um, https://n8n.lanstyle.de/ liefert HTTP 200.
search.lanstyle.de Canary¶
Stand: 2026-05-25
| Feld | Wert |
|---|---|
| Proxy Host ID | 48 |
| Domain | search.lanstyle.de |
| Forward vorher | http://10.0.1.240:8888 |
| DNS-Canary | http://searxng.ad.lanstyle.de:8888 |
| Forward aktiv | http://10.222.70.12:8888 |
| Access List | unverändert 0 |
| Zertifikat | unverändert 52 |
| SSL Force | aktiv seit 2026-05-27 |
| HTTP/2 | aktiv seit 2026-05-27 |
| Block Common Exploits | aktiv |
Die Umstellung erfolgte per NPM-API, damit NPM die generierte OpenResty-Konfiguration korrekt aktualisiert. Direkte SQLite-Änderungen allein reichen nicht aus, weil /data/nginx/proxy_host/*.conf dabei nicht zuverlässig neu erzeugt wird.
Der DNS-Upstream searxng.ad.lanstyle.de:8888 wurde wegen intermittierender NPM/OpenResty-Resolver-Fehler verworfen. Der aktive Canary nutzt die direkte interne Upstream-IP 10.222.70.12. Getestet wurden Root-Aufruf, mehrere Suchabfragen, 18 parallele Suchabfragen und eine Nachbeobachtung. NPM Access Logs müssen für diesen Canary Sent-to 10.222.70.12 zeigen.
ollama.lanstyle.de Canary¶
Stand: 2026-05-25
| Feld | Wert |
|---|---|
| Proxy Host ID | 41 |
| Domain | ollama.lanstyle.de |
| Forward vorher | http://10.222.70.11:11434 |
| Forward aktiv | http://10.222.70.11:11434 |
| DNS-Canary verworfen | http://ollama.ad.lanstyle.de:11434 |
| Access List | unverändert 4 |
| Zertifikat | unverändert 43 |
| SSL Force | aktiv |
| HTTP/2 | aktiv |
| WebSocket | aktiv |
| Block Common Exploits | aktiv |
Der aktive Canary erfolgte ausschließlich per NPM-API und nutzt die direkte interne Upstream-IP 10.222.70.11. Vor der Änderung wurde der Proxy Host exportiert und nach der Änderung wurden /api/tags, /v1/models, Streaming-Generierung, Embeddings und parallele Requests getestet. Der DNS-Upstream ollama.ad.lanstyle.de wurde verworfen, weil OpenResty ihn zeitweise auf 80.155.133.58:11434 auflöste und HTTP 502 erzeugte.
litellm.lanstyle.de Canary¶
Stand: 2026-05-25
| Feld | Wert |
|---|---|
| Proxy Host ID | 46 |
| Domain | litellm.lanstyle.de |
| Forward vorher | http://10.0.1.243:4000 |
| Forward aktiv | http://10.222.70.20:4000 |
| Access List | unverändert 0 |
| Zertifikat | unverändert 50 |
| SSL Force | aktiv seit 2026-05-27 |
| HTTP/2 | aktiv seit 2026-05-27 |
| WebSocket | aktiv |
| Block Common Exploits | aktiv |
Der Canary erfolgte ausschließlich per NPM-API und nutzt die direkte interne Upstream-IP 10.222.70.20. Getestet wurden erwartetes HTTP 401 auf /health ohne Key, /v1/models, Chat Completions, Streaming, Embeddings und parallele Requests. NPM Access Logs muessen fuer diesen Canary Sent-to 10.222.70.20 zeigen.
mcphub.lanstyle.de Canary¶
Stand: 2026-05-25
| Feld | Wert |
|---|---|
| Proxy Host ID | 47 |
| Domain | mcphub.lanstyle.de |
| Forward vorher | http://10.0.1.243:3000 |
| Forward aktiv | http://10.222.70.20:3000 |
| Access List | unverändert 0 |
| Zertifikat | unverändert 51 |
| SSL Force | aktiv seit 2026-05-27 |
| HTTP/2 | aktiv seit 2026-05-27 |
| WebSocket | aktiv |
| Block Common Exploits | aktiv |
Der Canary erfolgte ausschließlich per NPM-API und nutzt die direkte interne Upstream-IP 10.222.70.20. Getestet wurden Root, /health, geschützte API-/MCP-Pfade mit erwarteter HTTP-401-Antwort ohne Token, Open-WebUI-Erreichbarkeit und parallele Requests. NPM Access Logs muessen fuer diesen Canary Sent-to 10.222.70.20 zeigen.
ai.lanstyle.de Canary¶
Stand: 2026-05-26
| Feld | Wert |
|---|---|
| Proxy Host ID | 40 |
| Domain | ai.lanstyle.de |
| Forward vorher | http://10.0.0.250:8080 |
| Forward aktiv | http://10.222.70.10:8080 |
| Access List | unverändert 3 |
| Zertifikat | unverändert 44 |
| SSL Force | aktiv |
| HTTP/2 | aktiv |
| WebSocket | aktiv |
| Block Common Exploits | aktiv |
Der Canary erfolgte ausschließlich per NPM-API und nutzt die direkte interne Upstream-IP 10.222.70.10. Getestet wurden Root, /api/config, erwartetes HTTP 401 auf /api/models ohne Token, authentifizierte Modellliste mit 11 Modellen, Browser-Session-Persistenz, Chat mit litellm.lanstyle/agent-stable, parallele Modelllisten-Requests sowie Open-WebUI-Endpunkte für Terminals, Tools und Functions. NPM Access Logs muessen fuer diesen Canary Sent-to 10.222.70.10 zeigen.
Rollback: Proxy Host ID 40 per NPM-API zurück auf 10.0.0.250:8080.
Bekannte Hinweise¶
- API-Backups ersetzen kein vollständiges NPM-Backup. Zusätzlich
/dataund/etc/letsencryptsichern. - Wenn ein neuer Proxy Host in der UI angelegt wurde und TLS mit
tlsv1 unrecognized namefehlschlägt, prüfen ob OpenResty die neue Konfiguration geladen hat. - Syntaxcheck vor Reload/Restart:
/usr/local/openresty/nginx/sbin/nginx -t