Hi, I’ve set up a completely fresh instance of Seafile 13.0 CE according to the official 13.0 documentation, including the https steps. For simplicity I’m using the docker-based setup and I try to keep it as ‘stock’ as possible.
This is working fine.
Then I followed the documentation on enabling WebDAV: WebDAV extension - Seafile Admin Manual
I modified the original seafdav.conf that was already present by just replacing false by true:
[WEBDAV]
enabled = true
port = 8080
share_name = /seafdav
After restarting I still can’t access my server via WebDAV. Gnome’s Nautilus returns “HTTP Error: Moved Permanently”.
In order to rule out a client-side issue I checked my older Seafile setup (installed via binaries) and that one does work fine.
I finally figured out that at least some clients (in my case Gnome’s webdav client built into Nautilus file browser) can’t cope with the default permanent redirect in nginx config.
I could fix it by modifying /opt/seafile-data/nginx/conf/seafile.nginx.conf as follows: remove permanent in this line:
rewrite ^/seafdav$ /seafdav/ permanent;
I’d like to suggest that you remove that permanent keyword from the default nginx config. (And retest a variety of webdav clients.)
(I also tried accessing the seafdav url in Firefox and it seemed to end up in a loop where it constantly asked for my credentials. After the mentioned change in seafile.nginx.conf it worked as expected. But with Firefox I only did a quick test so I can’t guarantee my results.)
Note that Nautilus also gave that error when I specifically entered the url with the trailing /.
Now I’m wondering if my change will be lost over time, since the seafile.nginx.conf explicitly states that it was auto-generated. How often is it regenerated? If so, will this regeneration still work if I manually edited it?