So sieht die Meldung aus
Access through untrusted domain. Please contact your administrator. If you are an administrator, edit the "trusted_domains" setting in config/config.php.Häufige Ursachen
- Neuer Hostname nach Domainwechsel oder Migration, der nicht nachgetragen wurde.
- Aufruf direkt über die IP-Adresse oder einen internen Namen.
- Reverse Proxy reicht einen anderen
Host-Header weiter als den öffentlichen Namen. - Docker: Die Variable
NEXTCLOUD_TRUSTED_DOMAINSwird nur bei der Erstinstallation übernommen.
Prüfen
- Eingetragene vertrauenswürdige Domains anzeigen
sudo -u www-data php /var/www/nextcloud/occ config:system:get trusted_domains - Proxy-bezogene Einstellungen prüfen
grep -nE 'trusted_proxies|overwritehost|overwriteprotocol|overwrite.cli.url' /var/www/nextcloud/config/config.php - Mit gesetztem Host-Header direkt am Backend testen
curl -s -o /dev/null -w '%{http_code}\n' -H 'Host: cloud.beispiel.de' http://127.0.0.1/status.php - Weitergereichten Host-Header in nginx prüfen
nginx -T 2>/dev/null | grep -n 'proxy_set_header Host'
Lösung
- Domain eintragen (nächsten freien Index wählen):
sudo -u www-data php occ config:system:set trusted_domains 1 --value=cloud.beispiel.de. - Im Reverse Proxy den Original-Host weitergeben:
proxy_set_header Host $host;. - Hinter einem Proxy
trusted_proxiessetzen und bei Bedarfoverwritehostundoverwriteprotocol. - Bei Docker die Werte direkt in
config.phpbzw. per occ im Container ändern, nicht nur die Umgebungsvariable.
Häufige Fragen
Kann ich alle Domains mit * erlauben?
Wildcards wie *.beispiel.de sind möglich, ein reines * nicht sinnvoll. Die Liste schützt vor Host-Header-Angriffen, etwa manipulierten Passwort-Reset-Links.
Muss ich nach der Änderung etwas neu starten?
Nein. Nextcloud liest config.php bei jedem Request; die Änderung wirkt sofort.