Nextcloud hinter Nginx Proxy Manager - webfinger und nodeinfo Fehlermeldung

Hi zusammen,

ich betreibe meinen eigenen Nextcloud Server in Proxmox als CT. Davor läuft ein Nginx Proxy Manager.

Nextcloud selbst ist unter http erreichbar. Durch den Nginx Proxy Manager bekomme ich ein SSL Zertifikation.

Wenn ich als Admin in NC die Einstellungen überprüfe, kommen diese Fehlermeldungen.

Mein Nginx Proxy Manager hat folgende Einstellungen.


Custom Nginx Configuration

#### NginxProxyManager Advanced Settings #####

rewrite ^/.well-known/host-meta /public.php?service=host-meta last;
rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json last;

location = /.well-known/carddav {
      return 301 $scheme://$host:$server_port/remote.php/dav;
}

location = /.well-known/caldav {
      return 301 $scheme://$host:$server_port/remote.php/dav;
}

 location = /.well-known/webfinger {
      return 301 $scheme://$host:$server_port/index.php/.well-known/webfinger;
}

location = /.well-known/nodeinfo {
      return 301 $scheme://$host:$server_port/index.php/.well-known/nodeinfo;
}

CalDav und CardDav Fehler waren dadurch weg aber webfinger und nodeinfo sind wie oben beschrieben noch da.

Meine VirtualHost Datei sieht so aus.

<VirtualHost *:80>

     ServerAdmin admin@mailbox.org
     DocumentRoot /var/www/nextcloud/
     ServerName XXXXXXX.de

     <Directory /var/www/nextcloud/>
        Options +FollowSymlinks
        AllowOverride All
        Require all granted

        <IfModule mod_dav.c>
          Dav off
        </IfModule>

        SetEnv HOME /var/www/nextcloud
        SetEnv HTTP_HOME /var/www/nextcloud
     </Directory>

     ErrorLog ${APACHE_LOG_DIR}/error.log
     CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Nextcloud Version : 25.0.1
Apache2 Webserver
PHP : 8.1
MariaDB SQL Server

Die Einstellungen habe ich von Apfelcast. Leider weiß man dort nicht was es sein kann und die Empfehlung war, hier im Forum zu fragen.

Vielen Dank im Voraus für Tipps und Hilfestellungen.

1 Like

Hallo,

ich würde die rewrite Regeln für dav, webfinger und nodeinfo im apache der NC Installation definieren, nicht im Proxy davor.

Wir benutzen haproxy als Reverse Proxy mit SSL Offload ohne solche rewrite Regeln (weil im Apache der NC definiert) und haben damit keine derartigen Probleme.

Ich die VirtualHost Datei hatte ich es auch schon drin aber damit habe ich es auch nicht weg bekommen.

Kannst du mir mal eure VirtualHost Konfiguration zeigen?

Vielen Dank im Voraus.
Sven

Ich habe mal alles aus dem Nginx Proxy Manager genommen und in die VirtualHost Konfiguration gebracht.

<VirtualHost *:80>

     ServerAdmin nc@mail.org
     DocumentRoot /var/www/nextcloud/
     ServerName nc.svenscloud.de

     <Directory /var/www/nextcloud/>
        Options +FollowSymlinks
        AllowOverride All
        Require all granted

        <IfModule mod_dav.c>
          Dav off
        </IfModule>

        <IfModule mod_headers.c>
          Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains"
          Redirect 301 /.well-known/carddav /remote.php/dav
          Redirect 301 /.well-known/caldav /remote.php/dav
          Redirect 301 /.well-known/webfinger /index.php/.well-known/webfinger
          Redirect 301 /.well-known/nodeinfo /index.php/.well-known/nodeinfo
        </IfModule>

        SetEnv HOME /var/www/nextcloud
        SetEnv HTTP_HOME /var/www/nextcloud
     </Directory>

     ErrorLog ${APACHE_LOG_DIR}/error.log
     CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Leider habe ich jetzt mehr Fehlermeldungen im Admin Bereich.

Was ist in der VirtualHost zu meiner Nextcloud falsch?

Vielen Dank im Voraus.

Hallo Piro,

ich habe damit auch lange herum experimentiert. Ich nutze allerdings auch für die nextcloud den nginx Webserver. Dort habe ich aber nichts weiter eingestellt.

Im Nginx Proxymanager habe ich folgendes stehen:

location /.well-known/carddav {
    return 301 $scheme://$host/remote.php/dav;
}

location /.well-known/caldav {
    return 301 $scheme://$host/remote.php/dav;
}

location /.well-known/webfinger {
    return 301 $scheme://$host/index.php/.well-known/webfinger;
}

location /.well-known/nodeinfo {
    return 301 $scheme://$host/index.php/.well-known/nodeinfo;
}

Abschließend geholfen hat dann im Browser “Strg + F5” zu drücken um die Seite zu aktualisieren und gleichzeitig den Cache zu leeren.

2 Likes

Vielen Dank. Das ist die Lösung.

2 Likes

Gibt es eine Möglichkeit diese Einträge über die Custom locations Eingabemaske einzutragen oder geht das nur über das Advanced-Feld?

Hab da grade etwas damit rumgespielt, aber bin noch nicht zum selben Output in der Config gekommen.

zusätzlich hab ich in der custom config noch:

proxy_connect_timeout 600;
proxy_send_timeout 600;
proxy_read_timeout 600;
send_timeout 600;