Redirecting webfinger and nodeinfo for Nextcloud

How to setup a redirect for webfinger and nodeinfo in your server configuration to make Nextcloud stop complaining about it.

14406 views
d

By. Jacob

Jacob Kristensen (Turbulentarius) is a Web Developer based in Denmark. He is currently pursuing a Bachelor's degree in Web Development at Zealand, focusing on learning React and refining his existing skills.

Edited: 2022-11-06 07:38

  • Your web server is not properly set up to resolve “/.well-known/webfinger”. Further information can be found in the documentation.
  • Your web server is not properly set up to resolve “/.well-known/nodeinfo”. Further information can be found in the documentation.

After updating to Nextcloud 21 I started getting this interesting error on the overview page; but the linked page in the official documentation does not provide a solution.

It turns out there is an easy solution. In my case I simply had to add a couple of more redirects to my Apache VHOST configuration file; this can also be added to .htaccess, but I prefer to avoid that and just add it directly in the server configuration files. To fix the problem, try adding the following:

Redirect 301 /.well-known/webfinger /nextcloud/index.php/.well-known/webfinger
Redirect 301 /.well-known/nodeinfo /nextcloud/index.php/.well-known/nodeinfo

My redirect section for Nextcloud now looks like this:

# ---------------------
# Nextcloud stuff below
# ---------------------
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

This way I also avoid messing with mod_rewrite, which tends to have a somewhat exotic syntax compared with regular expressions in PHP; but I also dislike using it for stuff that does not really need regular expressions.

If you prefer using mod_rewrite, this should also work:

RewriteEngine on
RewriteRule ^\.well-known/carddav /nextcloud/remote.php/dav/ [R=301,L]
RewriteRule ^\.well-known/caldav /nextcloud/remote.php/dav/ [R=301,L]
RewriteRule ^\.well-known/webfinger /nextcloud/index.php/.well-known/webfinger [R=301,L]
RewriteRule ^\.well-known/nodeinfo /nextcloud/index.php/.well-known/nodeinfo [R=301,L]

Remember to reload your your configuration afterwards:

sudo service apache2 reload

Still having problems?

You should make sure to either restart or reload Apache:

sudo service apache2 reload

If it still does not work, make sure that your browser is not caching the HTTP responses. I had an issue with that.

To refresh the cache in your browser, you can open up developer tools and check the Disable Cache option; this will only apply while developer tools is open:

Disable cache, developer tools.

Then, while developer tools is open you just refresh the page, and the warning should go away.

Tell us what you think:

Steven

Thanks for the hint! I had the same issue and I was able to fix it. The Nextcloud project is already [discussing this issue](https://github.com/nextcloud/documentation/issues/6157).

However, note that you'll have to escape the dot character in regular expressions. So, you would write `\.` instead of `.` Example:

```
RewriteEngine on
RewriteRule ^\.well-known/carddav /nextcloud/remote.php/dav/ [R=301,L]
RewriteRule ^\.well-known/caldav /nextcloud/remote.php/dav/ [R=301,L]
RewriteRule ^\.well-known/webfinger /nextcloud/index.php/.well-known/webfinger [R=301,L]
RewriteRule ^\.well-known/nodeinfo /nextcloud/index.php/.well-known/nodeinfo [R=301,L]
```

Jacob

I know it is being discussed; I was one of the first to point it out and submit a patch to their documentation, but I guess it was not accepted. It was just a simple update to the documentation, but NC's process for contributing is just too complicated.

martin

Thanks for posting this. As I use Apache with LetsEncrypt, I had to add the redirects to 000-default-le-ssl.conf. Errors are gone!

Kevin

what if i'm using mariadb? i've tried to add to my .htaccess file but it's still there.
https://photos.app.goo.gl/mThsvLHGVmH5Vw7v7

Nolan Lawson

Thanks for writing this blog post. This is the only solution I could find to make these warnings go away, using Apache + NextCloud.

I added the lines (below "My redirect section for Nextcloud now looks like this:") to the file /etc/apache2/sites-available/default-ssl.conf, right before the `</VirtualHost> ` part at the end.

Anthony

Several hours of browsing and configuration came to an end 3minutes after I arrived here. Thank You!

Carl

And the below Redirect rule in your apache config file:
/etc/apache2/sites-available/xxxxx-ssl.conf

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

Chad

Thank you for writing this and thank you to Martin for commenting where the change needed to be if using Lets Encrypt (which I am). I have been working relentlessly on this for hours, and, once I came across this post, problem solved!
Thanks again!

Roxanne

Thank you for the "If it still does not work, make sure that your browser is not caching the HTTP responses. I had an issue with that."

This works for me!
You are the genius!

  1. How to change the domain name for your Nextcloud server.
  2. You need to route ocm-provider requests to index.php to have the error go away. The error started showing after I upgraded my Nextcloud server some time ago, and I have not had time to fix it until now.
  3. The Nextcloud notes app is worth using, because it stores notes in a logical and natural way, secures your notes and ensures you will never lose access to them.
  4. This can happen when the Redis environment is configured incorrectly, and/or when the redis-server.sock file has the wrong permissions.
  5. How to toggle maintenance mode on or off for your Nextcloud server

More in: Nextcloud