Linuxspicker

Admins kleiner Zettelkasten für die Lösung von Linuxproblemen

Nextcloud-Konfigurationstest mit nginx Proxy: "Refused to connect to ... /remote.php/dav/' because it violates the following Content Security Policy directive: "connect-src 'self'"

In der Nextcloud-Installation nervte seit einiger Zeit die Fehlermeldung „Dein Webserver ist nicht richtig konfiguriert, um „/.well-known/webfinger“ aufzulösen. Weitere Informationen hierzu findest Du in unserer Dokumentation ↗.“ Das Einrichten von Nginx gemäß den Hinweisen bei Nextcloud verschlimmerte die Situation, da danach auch noch „/.well-known/carddav“ und „/.well-known/caldav“ als nichtfunktionierend ausgewiesen wurden. Dabei war der Proxy-Nginx korrekt gemäß der offiziellen Dokumentation konfiguriert.

    # Make a regex exception for `/.well-known` so that clients can still
    # access it despite the existence of the regex rule
    # `location ~ /(\.|autotest|...)` which would otherwise handle requests
    # for `/.well-known`.
    location ^~ /.well-known {
        # The rules in this block are an adaptation of the rules
        # in `.htaccess` that concern `/.well-known`.

        location = /.well-known/carddav { return 301 /remote.php/dav/; }
        location = /.well-known/caldav  { return 301 /remote.php/dav/; }

        location /.well-known/acme-challenge    { try_files $uri $uri/ =404; }
        location /.well-known/pki-validation    { try_files $uri $uri/ =404; }

        # Let Nextcloud's API for `/.well-known` URIs handle all other
        # requests by passing them to the front-end controller.
        return 301 /index.php$request_uri;
    }

Ein händisches Prüfen der Weiterleitung und der Header mittels curl -I https://NEXTCLOUDDOMAIN/.well-known/carddav förderte eine Weiterleitung mit den korrekten Headern zu Tage und es ließ sich partout keine Fehlermeldung weder in den Logs noch direkt bei der Bildschirmausgabe identifizieren.

Erst der Blick in das Debugging von sowohl Firefox als auch Chrome ließ den Verursacher klarer werden.

Refused to connect to ‚http://NEXTCLOUDDOMAIN/remote.php/dav/‘ because it violates the following Content Security Policy directive: „connect-src ‚self‘“.

Bei genauerem Hinschauen ist sichtbar, dass die Weiterleitung nicht nach „https://…“ erfolgt, sondern zur unverschlüsselten Variante „http://“ und dann greift die Sicherheitspolitik durch und blockiert das Ganze. Da Varnish als Cache-Server nicht wirklich verantwortlich sein kann, blieb nur der Nginx-Server an der Frontseite. Dort war in den Proxy-Einstellungen noch proxy_redirect off; eingestellt, wodurch alle nötigen Weiterleitungen vom Backend durchzuführen sind. Die Änderung in proxy_redirect http:// $scheme://; behob dann den Fehler. Scheinbar hat die Änderung jetzt zumindest nichts anderes beeinflusst.

Bleibt noch die ursprünglichen „Fehlermeldungen“ zu beseitigen:

Dein Webserver ist nicht richtig konfiguriert, um „/.well-known/webfinger“ aufzulösen. Weitere Informationen hierzu findest Du in unserer Dokumentation ↗. Dein Webserver ist nicht richtig konfiguriert, um „/.well-known/nodeinfo“ aufzulösen. Weitere Informationen hierzu findest Du in unserer Dokumentation ↗.


Stichworte: , , ,
Kategorien:


Kommentare

Keine Kommentare

Kommentare

Geben Sie Ihren Kommentar hier ein. * Eingabe erforderlich. Sie müssen die Vorschau vor dem Absenden ansehen.