Problème de configuration Apache2 (Résolution "/.well-known/webfinger")

Bonjour à tous,

Je viens de procéder à une installation de nextcloud 22.1.1 sur un Raspberry Pi 4 (4Go), OS : Raspbian 64bits.
Mon serveur Web : Apache2, PHP 7.4, Mariadb.
Modules PHP installés : xml,cli,cgi,mysql,mbstring,gd,curl,zip,imagick,gmp,bcmath,intl,apcu,redis,bz2,ldap,imap,memcached,smbclient

J’ai installé Nextcloud dans le dossier /var/www/html/nextcloud en utilisant le script OCC.

J’ai activé les modules suivants d’Apache :
sudo a2enmod rewrite
sudo a2enmod headers
sudo a2enmod env
sudo a2enmod dir
sudo a2enmod mime

Les .htaccess sont activés.

Tout s’est à priori bien déroulé sauf que je n’arrive pas à résoudre les messages suivants :

  • Votre serveur web nest pas configuré correctement pour résoudre “/.well-known/webfinger”. Plus d’informations peuvent être trouvées sur notre documentation.
  • Votre serveur web nest pas configuré correctement pour résoudre “/.well-known/caldav”. Plus d’informations peuvent être trouvées sur notre documentation.
  • Votre serveur web nest pas configuré correctement pour résoudre “/.well-known/carddav”. Plus d’informations peuvent être trouvées sur notre documentation.

Quelqu’un aurait-il une solution pour résoudre ces avertissements ?

Merci d’avance pour votre aide.

En information supplémentaire, j’ai ajouté les lignes suivantes dans mon nextcloud.conf :

Redirect 301 /.well-known/carddav /nextcloud/remote.php/dav
Redirect 301 /.well-known/caldav /nextcloud/remote.php/dav
Redirect 301 /.well-known/webfinger /nextcloud/index.php/.well-known/webfinger
Redirect 301 /.well-known/nodeinfo /nextcloud/index.php/.well-known/nodeinfo

Sous Egde, cela ne semble pas fonctionner mais sous firefox ou chrome, les messages d’erreurs ont disparu… C’est à n’y rien comprendre.

Bonsoir @Strappal, essayez cette commande :
sudo -u www-data php /...../nextcloud/occ maintenance:update:htaccess

( modifiez la comande en mettant le chemin de votre répertoire nextcloud)

pour ma part la redirection est directement inclu dans le fichiers .htaccess. peut être que ce dernier est mal paramétré …

Merci pour la réponse.

Malheureusement, et je ne l’avais, c’est vrai, pas précisé, j’ai déjà tenté cette commande sans succès.

La seule possibilité que j’ai eu de solutionner le problème a été d’inclure dans mon fichier conf les 4 redirections. Mais cela ne fonctionne qu’avec Firefox, c’est à ni rien comprendre…

@Strappal c’est étrange, même après avoir purgé le cache des différents navigateurs ?

Oui, j’ai essayé sur 2 machines différentes. Après plusieurs reboot et d’autres installations de paquet, tout semble être rentré dans l’ordre.

Merci pour ta réponse.

1 Like

Bonsoir,

Je planche sur ce problème depuis un moment et je suis dans le même cas que @Strappal, sous Raspbian également avec sensiblement la même installation (LAMP).

Et chaque fois que je veux faire une MAJ de NC j’ai ce sempiternel message

** Votre serveur web nest pas configuré correctement pour résoudre “/.well-known/webfinger”. Plus d’informations peuvent être trouvées sur notre [documentation ]*
** Votre serveur web nest pas configuré correctement pour résoudre “/.well-known/caldav”. Plus d’informations peuvent être trouvées sur notre [documentation ]*
** Votre serveur web nest pas configuré correctement pour résoudre “/.well-known/carddav”. Plus d’informations peuvent être trouvées sur notre [documentation ]*

J’ai donc bien effectué la commande qui va bien, vidé le cache de mon navigateur (Chrome) redémarré Apache mais rien n’y fait !!

sudo -u www-data php /var/www/html/nextcloud/occ maintenance:update:htaccess
.htaccess has been updated

Du coup je fais une petite relance du sujet au cas ou…

Regarde sur cette page :slight_smile:

https://kerneldesign.net/article.php?monId=476

Bonjour,

Je m’ajoute à ce sujet car j’ai le même problème.
J’ai nextcloud sur Docker. J’ai ajouté sur mon .htacces les lignes :

Citation 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

Rien à faire. Est-ce que quelqu’un a pu résoudre le soucis ?

Merci.

avez vous ces lignes dans votre .htaccess ? (…/nextcloud/.htaccess)

<IfModule mod_rewrite.c>
  RewriteEngine on
  RewriteCond %{HTTP_USER_AGENT} DavClnt
  RewriteRule ^$ /remote.php/webdav/ [L,R=302]
  RewriteRule .* - [env=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
  RewriteRule ^\.well-known/carddav /remote.php/dav/ [R=301,L]
  RewriteRule ^\.well-known/caldav /remote.php/dav/ [R=301,L]
  RewriteRule ^remote/(.*) remote.php [QSA,L]
  RewriteRule ^(?:build|tests|config|lib|3rdparty|templates)/.* - [R=404,L]
  RewriteRule ^\.well-known/(?!acme-challenge|pki-validation) /index.php [QSA,L]
  RewriteRule ^(?:\.(?!well-known)|autotest|occ|issue|indie|db_|console).* - [R=404,L]
</IfModule>

Oui.

J’ai même ajouté :

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

Voici le contenu du .htaccess

<IfModule mod_headers.c>
  <IfModule mod_setenvif.c>
    <IfModule mod_fcgid.c>
       SetEnvIfNoCase ^Authorization$ "(.+)" XAUTHORIZATION=$1
       RequestHeader set XAuthorization %{XAUTHORIZATION}e env=XAUTHORIZATION
    </IfModule>
    <IfModule mod_proxy_fcgi.c>
       SetEnvIfNoCase Authorization "(.+)" HTTP_AUTHORIZATION=$1
    </IfModule>
    <IfModule mod_lsapi.c>
      SetEnvIfNoCase ^Authorization$ "(.+)" XAUTHORIZATION=$1
      RequestHeader set XAuthorization %{XAUTHORIZATION}e env=XAUTHORIZATION
    </IfModule>
  </IfModule>

  <IfModule mod_env.c>
    # Add security and privacy related headers

    # Avoid doubled headers by unsetting headers in "onsuccess" table,
    # then add headers to "always" table: https://github.com/nextcloud/server/pull/19002
    Header onsuccess unset Referrer-Policy
    Header always set Referrer-Policy "no-referrer"

    Header onsuccess unset X-Content-Type-Options
    Header always set X-Content-Type-Options "nosniff"

    Header onsuccess unset X-Frame-Options
    Header always set X-Frame-Options "SAMEORIGIN"

    Header onsuccess unset X-Permitted-Cross-Domain-Policies
    Header always set X-Permitted-Cross-Domain-Policies "none"

    Header onsuccess unset X-Robots-Tag
    Header always set X-Robots-Tag "none"

    Header onsuccess unset X-XSS-Protection
    Header always set X-XSS-Protection "1; mode=block"

    SetEnv modHeadersAvailable true
  </IfModule>

  # Add cache control for static resources
  <FilesMatch "\.(css|js|svg|gif|png|jpg|ico|wasm|tflite)$">
    Header set Cache-Control "max-age=15778463"
  </FilesMatch>

  <FilesMatch "\.(css|js|svg|gif|png|jpg|ico|wasm|tflite)(\?v=.*)?$">
    Header set Cache-Control "max-age=15778463, immutable"
  </FilesMatch>

  # Let browsers cache WOFF files for a week
  <FilesMatch "\.woff2?$">
    Header set Cache-Control "max-age=604800"
  </FilesMatch>
</IfModule>

# PHP 7.x
<IfModule mod_php7.c>
  php_value mbstring.func_overload 0
  php_value default_charset 'UTF-8'
  php_value output_buffering 0
  <IfModule mod_env.c>
    SetEnv htaccessWorking true
  </IfModule>
</IfModule>

# PHP 8+
<IfModule mod_php.c>
  php_value mbstring.func_overload 0
  php_value default_charset 'UTF-8'
  php_value output_buffering 0
  <IfModule mod_env.c>
    SetEnv htaccessWorking true
  </IfModule>
</IfModule>

<IfModule mod_mime.c>
  AddType image/svg+xml svg svgz
  AddType application/wasm wasm
  AddEncoding gzip svgz
</IfModule>

<IfModule mod_dir.c>
  DirectoryIndex index.php index.html
</IfModule>

<IfModule pagespeed_module>
  ModPagespeed Off
</IfModule>

<IfModule mod_rewrite.c>
  RewriteEngine on
  RewriteCond %{HTTP_USER_AGENT} DavClnt
  RewriteRule ^$ /remote.php/webdav/ [L,R=302]
  RewriteRule .* - [env=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
  RewriteRule ^\.well-known/carddav /remote.php/dav/ [R=301,L]
  RewriteRule ^\.well-known/caldav /remote.php/dav/ [R=301,L]
  RewriteRule ^remote/(.*) remote.php [QSA,L]
  RewriteRule ^(?:build|tests|config|lib|3rdparty|templates)/.* - [R=404,L]
  RewriteRule ^\.well-known/(?!acme-challenge|pki-validation) /index.php [QSA,L]
  RewriteRule ^(?:\.(?!well-known)|autotest|occ|issue|indie|db_|console).* - [R=404,L]
</IfModule>

AddDefaultCharset utf-8
Options -Indexes
#### DO NOT CHANGE ANYTHING ABOVE THIS LINE ####

ErrorDocument 403 //
ErrorDocument 404 //
<IfModule mod_rewrite.c>
  Options -MultiViews
  RewriteRule ^core/js/oc.js$ index.php [PT,E=PATH_INFO:$1]
  RewriteRule ^core/preview.png$ index.php [PT,E=PATH_INFO:$1]
  RewriteCond %{REQUEST_FILENAME} !\.(css|js|svg|gif|png|html|ttf|woff2?|ico|jpg|jpeg|map|webm|mp4|mp3|ogg|wav|wasm|tflite)$
  RewriteCond %{REQUEST_FILENAME} !/core/ajax/update\.php
  RewriteCond %{REQUEST_FILENAME} !/core/img/(favicon\.ico|manifest\.json)$
  RewriteCond %{REQUEST_FILENAME} !/(cron|public|remote|status)\.php
  RewriteCond %{REQUEST_FILENAME} !/ocs/v(1|2)\.php
  RewriteCond %{REQUEST_FILENAME} !/robots\.txt
  RewriteCond %{REQUEST_FILENAME} !/(ocm-provider|ocs-provider|updater)/
  RewriteCond %{REQUEST_URI} !^/\.well-known/(acme-challenge|pki-validation)/.*
  RewriteCond %{REQUEST_FILENAME} !/richdocumentscode(_arm64)?/proxy.php$
  RewriteRule . index.php [PT,E=PATH_INFO:$1]
  RewriteBase /
  <IfModule mod_env.c>
    SetEnv front_controller_active true
    <IfModule mod_dir.c>
      DirectorySlash off
    </IfModule>
  </IfModule>
</IfModule>


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

Voici le contenu de mon fichier .htaccess

<IfModule mod_headers.c>
  <IfModule mod_setenvif.c>
    <IfModule mod_fcgid.c>
       SetEnvIfNoCase ^Authorization$ "(.+)" XAUTHORIZATION=$1
       RequestHeader set XAuthorization %{XAUTHORIZATION}e env=XAUTHORIZATION
    </IfModule>
    <IfModule mod_proxy_fcgi.c>
       SetEnvIfNoCase Authorization "(.+)" HTTP_AUTHORIZATION=$1
    </IfModule>
    <IfModule mod_lsapi.c>
      SetEnvIfNoCase ^Authorization$ "(.+)" XAUTHORIZATION=$1
      RequestHeader set XAuthorization %{XAUTHORIZATION}e env=XAUTHORIZATION
    </IfModule>
  </IfModule>

  <IfModule mod_env.c>
    # Add security and privacy related headers

    # Avoid doubled headers by unsetting headers in "onsuccess" table,
    # then add headers to "always" table: https://github.com/nextcloud/server/pull/19002
    Header onsuccess unset Referrer-Policy
    Header always set Referrer-Policy "no-referrer"

    Header onsuccess unset X-Content-Type-Options
    Header always set X-Content-Type-Options "nosniff"

    Header onsuccess unset X-Frame-Options
    Header always set X-Frame-Options "SAMEORIGIN"

    Header onsuccess unset X-Permitted-Cross-Domain-Policies
    Header always set X-Permitted-Cross-Domain-Policies "none"

    Header onsuccess unset X-Robots-Tag
    Header always set X-Robots-Tag "none"

    Header onsuccess unset X-XSS-Protection
    Header always set X-XSS-Protection "1; mode=block"

    SetEnv modHeadersAvailable true
  </IfModule>

  # Add cache control for static resources
  <FilesMatch "\.(css|js|svg|gif|png|jpg|ico|wasm|tflite)$">
    Header set Cache-Control "max-age=15778463"
  </FilesMatch>

  <FilesMatch "\.(css|js|svg|gif|png|jpg|ico|wasm|tflite)(\?v=.*)?$">
    Header set Cache-Control "max-age=15778463, immutable"
  </FilesMatch>

  # Let browsers cache WOFF files for a week
  <FilesMatch "\.woff2?$">
    Header set Cache-Control "max-age=604800"
  </FilesMatch>
</IfModule>

# PHP 7.x
<IfModule mod_php7.c>
  php_value mbstring.func_overload 0
  php_value default_charset 'UTF-8'
  php_value output_buffering 0
  <IfModule mod_env.c>
    SetEnv htaccessWorking true
  </IfModule>
</IfModule>

# PHP 8+
<IfModule mod_php.c>
  php_value mbstring.func_overload 0
  php_value default_charset 'UTF-8'
  php_value output_buffering 0
  <IfModule mod_env.c>
    SetEnv htaccessWorking true
  </IfModule>
</IfModule>

<IfModule mod_mime.c>
  AddType image/svg+xml svg svgz
  AddType application/wasm wasm
  AddEncoding gzip svgz
</IfModule>

<IfModule mod_dir.c>
  DirectoryIndex index.php index.html
</IfModule>

<IfModule pagespeed_module>
  ModPagespeed Off
</IfModule>

<IfModule mod_rewrite.c>
  RewriteEngine on
  RewriteCond %{HTTP_USER_AGENT} DavClnt
  RewriteRule ^$ /remote.php/webdav/ [L,R=302]
  RewriteRule .* - [env=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
  RewriteRule ^\.well-known/carddav /remote.php/dav/ [R=301,L]
  RewriteRule ^\.well-known/caldav /remote.php/dav/ [R=301,L]
  RewriteRule ^remote/(.*) remote.php [QSA,L]
  RewriteRule ^(?:build|tests|config|lib|3rdparty|templates)/.* - [R=404,L]
  RewriteRule ^\.well-known/(?!acme-challenge|pki-validation) /index.php [QSA,L]
  RewriteRule ^(?:\.(?!well-known)|autotest|occ|issue|indie|db_|console).* - [R=404,L]
</IfModule>

AddDefaultCharset utf-8
Options -Indexes
#### DO NOT CHANGE ANYTHING ABOVE THIS LINE ####

ErrorDocument 403 //
ErrorDocument 404 //
<IfModule mod_rewrite.c>
  Options -MultiViews
  RewriteRule ^core/js/oc.js$ index.php [PT,E=PATH_INFO:$1]
  RewriteRule ^core/preview.png$ index.php [PT,E=PATH_INFO:$1]
  RewriteCond %{REQUEST_FILENAME} !\.(css|js|svg|gif|png|html|ttf|woff2?|ico|jpg|jpeg|map|webm|mp4|mp3|ogg|wav|wasm|tflite)$
  RewriteCond %{REQUEST_FILENAME} !/core/ajax/update\.php
  RewriteCond %{REQUEST_FILENAME} !/core/img/(favicon\.ico|manifest\.json)$
  RewriteCond %{REQUEST_FILENAME} !/(cron|public|remote|status)\.php
  RewriteCond %{REQUEST_FILENAME} !/ocs/v(1|2)\.php
  RewriteCond %{REQUEST_FILENAME} !/robots\.txt
  RewriteCond %{REQUEST_FILENAME} !/(ocm-provider|ocs-provider|updater)/
  RewriteCond %{REQUEST_URI} !^/\.well-known/(acme-challenge|pki-validation)/.*
  RewriteCond %{REQUEST_FILENAME} !/richdocumentscode(_arm64)?/proxy.php$
  RewriteRule . index.php [PT,E=PATH_INFO:$1]
  RewriteBase /
  <IfModule mod_env.c>
    SetEnv front_controller_active true
    <IfModule mod_dir.c>
      DirectorySlash off
    </IfModule>
  </IfModule>
</IfModule>


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

@CG12 si ces lignes sont bien présentent, c’est vraiment étrange … avez vous vérifié si le fichier a les bonnes permissions ? (même utilisateur que le dossier nextcloud et les droits en lecture, ecriture et exécution de ce même utilisateur)

avez vous redémarré votre logicielle d’hébergement du serveur ? (apache ou nginx ou autre …)

Essayez cette commande mais je doute qu’elle fonctionne :
sudo -u www-data php /...../nextcloud/occ maintenance:repair

Pour mon .htaccess c’est le même propriétaire : www-data
et pour les permissions j’ai 0777.

Pour information j’ai nextcloud installé sur un docker avec une reverse proxy.

J’ai déjà tout redémarré.

Pour la commande je ne peux pas l’utiliser. Quand je me connecte à mon conteneur, je suis en bash.

@CG12
tout s’explique … c’est le reverse proxy qui pose problème : Reverse proxy — Nextcloud latest Administration Manual latest documentation
dans ce lien vous avez les lignes à ajouter dans votre reverse proxy suivant le logiciel que vous utilisez

Super :+1: Merci
Déja 50% du problème de résolu.
Effectivement j’utilise Nginx. Dans les paramètres avancés de mon “Proxy hosts” j’ai ajouté les lignes de ton lien.

J’ai réglé le soucis pour carddav et caldav parcontre j’ai toujours le soucis avec webfinger et nodeinfo.

@CG12 je ne sais pas comment résoudre le reste, je vais essayer de rechercher des solutions

Je vais également faire des essais.

  • Votre serveur web nest pas configuré correctement pour résoudre “/.well-known/webfinger”.
  • Votre serveur web nest pas configuré correctement pour résoudre “/.well-known/nodeinfo”.

J’ai toujours ces deux erreurs, je viens de passer sur Nextcloud Hub 6 (27.1.1). J’avoue avoir cherché… En gros carddav et webdav ont disparu comme erreur. Je me suis dit il y a peut être un problème de cache navigateur.

Et effectivement, plus d’erreur en vidant les caches. Sinon passer par la navigation privée !

1 Like