Server-Überwachungstools: Grafana, Prometheus und Netdata
Prometheus + Grafana Stack-Einrichtung, Netdata, node_exporter, Alarmregeln, Dashboard-Erstellung und Server-Metrik-Überwachung.
Nginx Proxy Manager Docker-Installation, automatische SSL-Zertifikatserneuerung, Proxy-Host-Konfiguration, Zugriffslisten, Weiterleitungen, Streams und benutzerdefinierte Locations.
Nginx Proxy Manager (NPM) ist ein Open-Source-Tool, mit dem Sie Nginx Reverse Proxy über eine benutzerfreundliche Weboberfläche verwalten können. SSL-Zertifikatsverwaltung, Proxy-Host-Konfiguration und Zugriffskontrolle sind ohne Kommandozeile möglich.
Wichtige Funktionen:
# docker-compose.yml
version: '3.8'
services:
npm:
image: 'jc21/nginx-proxy-manager:latest'
container_name: nginx-proxy-manager
restart: unless-stopped
ports:
- '80:80'
- '443:443'
- '81:81'
volumes:
- npm_data:/data
- npm_letsencrypt:/etc/letsencrypt
environment:
- TZ=Europe/Berlin
volumes:
npm_data:
npm_letsencrypt:
docker compose up -d
docker ps | grep nginx-proxy-manager
http://SERVER_IP:81
Standard-Anmeldedaten:
Email: admin@example.com
Passwort: changeme
Bei der ersten Anmeldung werden Sie aufgefordert, Ihr Passwort und Ihre E-Mail zu ändern.
app.example.comhttp192.168.1.103000version: '3.8'
services:
npm:
image: 'jc21/nginx-proxy-manager:latest'
container_name: nginx-proxy-manager
restart: unless-stopped
ports:
- '80:80'
- '443:443'
- '81:81'
volumes:
- npm_data:/data
- npm_letsencrypt:/etc/letsencrypt
networks:
- proxy_network
webapp:
image: your-webapp:latest
container_name: webapp
expose:
- "3000"
networks:
- proxy_network
networks:
proxy_network:
driver: bridge
volumes:
npm_data:
npm_letsencrypt:
Nur AdminIm Access-Tab:
Allow: 192.168.1.0/24
Deny: all
Im Authorization-Tab:
Benutzername: admin
Passwort: StarkesPasswort123!
alt.example.comneu.example.com30125565192.168.1.5025565proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
client_max_body_size 100M;
proxy_connect_timeout 300;
proxy_send_timeout 300;
proxy_read_timeout 300;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
*.example.com# NPM-Daten sichern
docker exec nginx-proxy-manager tar -czf /tmp/npm-backup.tar.gz /data /etc/letsencrypt
docker cp nginx-proxy-manager:/tmp/npm-backup.tar.gz ./npm-backup-$(date +%Y%m%d).tar.gz
# Wiederherstellen
docker cp ./npm-backup.tar.gz nginx-proxy-manager:/tmp/
docker exec nginx-proxy-manager tar -xzf /tmp/npm-backup.tar.gz -C /
docker restart nginx-proxy-manager
docker compose pull
docker compose up -d
docker image prune -f
# Admin-Panel nur von bestimmten IPs zugänglich machen
ports:
- '80:80'
- '443:443'
- '127.0.0.1:81:81'
# Zugriff über SSH-Tunnel
ssh -L 81:localhost:81 user@server-ip
Mit Nginx Proxy Manager auf Ihren REXE-Servern können Sie alle Webanwendungen zentral verwalten und SSL-Zertifikate automatisch erhalten und erneuern. Die Weboberfläche ermöglicht professionelles Reverse-Proxy-Setup ohne Nginx-Konfigurationsdateien.
Überprüfen Sie, ob Port 81 in der Firewall geöffnet ist: 'ufw allow 81/tcp'. Stellen Sie sicher, dass der Container läuft: 'docker ps | grep nginx-proxy-manager'. Prüfen Sie die Docker-Logs: 'docker logs nginx-proxy-manager'. Bei Portkonflikten ändern Sie den Admin-Port in docker-compose.yml.
Überprüfen Sie, ob der DNS-Eintrag der Domain auf die Server-IP zeigt. Stellen Sie sicher, dass Port 80 von außen erreichbar ist (erforderlich für Let's Encrypt HTTP-01 Challenge). Bei Cloudflare deaktivieren Sie vorübergehend den Proxy (DNS Only). Für Wildcard-Zertifikate verwenden Sie DNS Challenge.
Überprüfen Sie, ob der Backend-Dienst läuft und auf dem angegebenen Port lauscht. Docker-Container müssen im selben Netzwerk sein. Wenn Sie den Container-Namen als Forward Hostname verwenden, stellen Sie sicher, dass beide Container mit demselben Docker-Netzwerk verbunden sind.
Aktivieren Sie 'Websockets Support' in den Proxy-Host-Einstellungen. Fügen Sie im Advanced-Tab hinzu: 'proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade";'.
Fügen Sie 'client_max_body_size 100M;' im Advanced-Tab des Proxy-Hosts hinzu. Stellen Sie sicher, dass die Backend-Anwendung ebenfalls große Datei-Uploads erlaubt. Erhöhen Sie die Timeout-Werte: 'proxy_read_timeout 300;'.
Einstellungen sollten erhalten bleiben, wenn Docker-Volumes korrekt konfiguriert sind. Überprüfen Sie, ob Volumes in docker-compose.yml definiert sind. Erstellen Sie immer ein Backup vor dem Update.
Prometheus + Grafana Stack-Einrichtung, Netdata, node_exporter, Alarmregeln, Dashboard-Erstellung und Server-Metrik-Überwachung.
Squid Forward Proxy, HAProxy Load Balancer, SSL-Terminierung, ACL-Regeln, Caching, Health Checks und Hochverfügbarkeit.
CrowdSec-Installation, Bouncer-Konfiguration, Angriffserkennung, IP-Blockierung, Dashboard, Sammlungs- und Szenario-Verwaltung.