So sieht die Meldung aus
The reverse proxy header configuration is incorrect. This is a security issue and can allow an attacker to spoof their IP address as visible to the Nextcloud.Häufige Ursachen
- Nextcloud läuft hinter nginx, Apache, Traefik, HAProxy oder einem Docker-Proxy, aber
trusted_proxiesfehlt in derconfig.php. - Der Proxy sendet
X-Forwarded-For,X-Forwarded-ProtoundHostnicht mit. overwriteprotocoloderoverwrite.cli.urlpassen nicht zur öffentlichen Adresse (http gegen https).- Mehr als eine Station, z. B. Cloudflare, dann nginx, dann der Nextcloud-Container, und nur eine davon ist vertraut.
- Der umgekehrte Fall: Es gibt keinen Proxy, aber
trusted_proxiesnennt noch eine alte Adresse.
Prüfen
- Welchen Proxys vertraut Nextcloud?
- Ist das Protokoll richtig erzwungen?
sudo -u www-data php occ config:system:get overwriteprotocol - Welche Header setzt der Proxy?
grep -rnE 'proxy_set_header|X-Forwarded' /etc/nginx/ - Antwort der Instanz prüfen (die Warnung steht unter Einstellungen → Verwaltung → Übersicht)
curl -sI https://cloud.example.com/status.php
Lösung
- Die Adresse des Proxys eintragen:
sudo -u www-data php occ config:system:set trusted_proxies 0 --value=192.0.2.10. Pro Proxy einen eigenen Index nutzen. - Das öffentliche Protokoll erzwingen:
sudo -u www-data php occ config:system:set overwriteprotocol --value=https. - Den Proxy die Header senden lassen:
proxy_set_header Host $host;,proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;undproxy_set_header X-Forwarded-Proto $scheme;. - Hinter Cloudflare dessen Adressbereiche in
trusted_proxieseintragen undforwarded_for_headersaufHTTP_CF_CONNECTING_IPsetzen. - Gibt es keinen Proxy,
trusted_proxiesundforwarded_for_headersentfernen.
Häufige Fragen
Warum heißt das Sicherheitsproblem?
Nextcloud glaubt die weitergeleitete IP nur vertrauten Proxys. Sonst könnte jeder einen gefälschten Header senden und sich hinter einer falschen Adresse verstecken, was auch den Brute-Force-Schutz aushebelt.
Warum zeigen alle Nutzer dieselbe IP?
Weil Nextcloud die Adresse des Proxys sieht. Dann kann der Brute-Force-Schutz alle Nutzer gleichzeitig bremsen, siehe Too many requests.