Basically the title, I have the caldav and carddav errors in the admin security check.
The path to nextcloud is the fqdn of the site e.g.
/var/www/nextcloud.mydomain.tld/
Following the manual I have added to .htaccess
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^\.well-known/carddav /nextcloud.mydomain.tld/remote.php/dav [R=301,L]
RewriteRule ^\.well-known/caldav /nextcloud.mydomain.tld/remote.php/dav [R=301,L]
RewriteRule ^\.well-known/webfinger /nextcloud.mydomain.tld/index.php/.well-known/webfinger [R=301,L]
RewriteRule ^\.well-known/nodeinfo /nextcloud.mydomain.tld/index.php/.well-known/nodeinfo [R=301,L]
</IfModule>
I tested by entering nextcloud.mydomain.tld/.well-known/carddav into the browser and I was redirected to nextcloud.mydomain.tld/remote.php/dav/ which has:
This is the WebDAV interface. It can only be accessed by WebDAV clients such as the Nextcloud desktop sync client.
I assume the redirect is working correctly however, I still see:
Your web server is not properly set up to resolve “/.well-known/caldav”. Further information can be found in the documentation
in the security check… Ideas?
1 Like
Are you configuring it with Nginx or Apache??
If you are configuring it with Nginx you have to put this in your configuration file:
location ^~ /.well-known/carddav {
return 301 $scheme://$host:<port (if you have assigned it)>/remote.php/dav;
}
location ^~ /.well-known/caldav {
return 301 $scheme://$host:<port (if you have assigned it)>/remote.php/dav;
}
Btw how did you do for the nodeinfo and webfinger recommendation to not to appear?
akn
April 24, 2024, 2:48pm
3
After upgrading to Nextcloud Hub 8 (29.0.0), I also get this error message. The required forwarding is configured in the Nginx Proxy Manager and works. Calling up the URL in the browser also leads to the WebDAV message mentioned above.
Same here. Was working fine for years, updated to 29, now got the errors mentioned above.
Apache is the server and I didnt received the other errors
Same here, I’ve had the same NGINX configuration for years. Upgraded to NC29 and now I have a caldav warning. Oddly no cardav error.
Same here, after update to NC29
Your web server is not properly set up to resolve .well-known
URLs, failed on: /.well-known/caldav
but /.well-known/caldav leads to remote.php/dav
When posted I was on 27, now i’m on 28.0.4 and error still relevant.
+1
Oddly, mine’s only complaining about caldav - carddav seems fine.
The following changes I made in my .htaccess, then I pass successfull all test. Import are the numbers behind the Parameter R in the square bracket.
RewriteRule ^\.well-known/webfinger /public.php?service=webfinger [R=404,QSA,L]
RewriteRule ^\.well-known/carddav /remote.php/carddav/ [R=207,L]
RewriteRule ^\.well-known/caldav /remote.php/caldav/ [R=207,L]
KR
1 Like
can you explain in more detail the configuration in the square bracket. Thanks
Die Parameters are described in the apache docu.
https://httpd.apache.org/docs/2.4/rewrite/flags.html#flag_r
I just made a test with expected behaviour coded in the apps/settings/lib/SetupChecks)\WellKnownUrls.php
KR
I’ve got exactly the same problem after upgrading to NC29.0.0. Never had this issue before. Error can’t be correct as the redirects are definitely working.
akn
April 25, 2024, 7:34pm
14
akn
April 26, 2024, 1:43pm
15
Solution for me: Redirection to /remote.php/dav/
with trailing slash at the end in Nginx Proxy Manager makes the error message disappear.
1 Like
Same solution for me in NGINX. Missing trailing slash which wasn’t a problem before but is now in NC29.
- location = /.well-known/carddav { return 301 https://$host/remote.php/dav; }
- location = /.well-known/caldav { return 301 https://$host/remote.php/dav; }
+ location = /.well-known/carddav { return 301 https://$host/remote.php/dav/; }
+ location = /.well-known/caldav { return 301 https://$host/remote.php/dav/; }
1 Like
JoMatr
April 26, 2024, 1:58pm
17
What is the correct procedure for Apache2?
This fixed the issue for me.
The final solution for Apache is here.
It works with the default setting. I had the problem before and send a solution by changing the number in the redirect statement. The final solution was disabeling all rewrite rules in .htaccess and copy the the content (only the few lines with the rewrites) from git. Works for Apache.
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 ^ocm-provider/?$ index.php [QSA,L]
RewriteRule ^(?:\.(?!well-known)|autotest|occ|issue|indie|db_|console).* - [R=404,L]
KR