Spis treści 7 sekcji

Nextcloud WebDAV daje aplikacjom dostęp do plików na serwerze Nextcloud. Platforma ma własny serwer WebDAV/CalDAV, co potwierdzono na jej forum.1
Dokumentacja opisuje listowanie i tworzenie folderów, a także usuwanie, przenoszenie i kopiowanie plików oraz folderów.2 W tym poradniku znajdziesz adres połączenia, sposób logowania i wskazówki dotyczące typowych błędów. Standard WebDAV dodaje siedem metod HTTP: PROPFIND, PROPPATCH, MKCOL, COPY, MOVE, LOCK i UNLOCK.3

Czym jest WebDAV w Nextcloud i do czego służy?

WebDAV w Nextcloud pozwala korzystać z plików na serwerze w aplikacjach obsługujących ten protokół. Klient łączy się przez adres przypisany do konta, więc nie trzeba otwierać interfejsu w przeglądarce.
Nextcloud odczytuje również wybrane nagłówki żądań WebDAV, czyli dodatkowe informacje wysyłane wraz z żądaniem.2 Nagłówek X-OC-Mtime zawiera znacznik czasu wyrażony w sekundach od początku epoki Unix.4

Udziały publiczne Nextcloud mają osobny punkt końcowy WebDAV dostępny od wersji 29.2 Jego adres różni się od adresu przypisanego do konta użytkownika.
Jeśli udział jest chroniony hasłem, próba dostępu bez prawidłowych danych może zakończyć się odpowiedzią HTTP 401.5

Gdzie znaleźć adres WebDAV swojego konta Nextcloud?

Adres WebDAV konta Nextcloud znajdziesz w aplikacji Pliki. Otwórz ustawienia plików i skopiuj wyświetlony tam adres; prowadzi on do zasobów Twojego konta na danym serwerze.
W kliencie wpisz cały adres, nie samą domenę. Przy połączeniu WebDAV przez HTTPS standardowy port to 443.6

Jakich danych logowania użyć i jak utworzyć hasło aplikacji w Nextcloud?

Do logowania przez Nextcloud WebDAV użyj nazwy użytkownika i hasła aplikacji, jeśli wymaga tego instalacja korzystająca z zewnętrznego dostawcy tożsamości.2 Dotyczy to także sytuacji, gdy w przeglądarce logujesz się przez zewnętrzny serwer OIDC.
Odpowiedź HTTP 401 oznacza, że klient nie przesłał prawidłowych danych uwierzytelniających.7

  • Ustawienia bezpieczeństwa Nextcloud otwórz po zalogowaniu na konto.
  • Hasło aplikacji utwórz w osobistych ustawieniach bezpieczeństwa.
  • Dane aplikacji WebDAV skopiuj po utworzeniu hasła. Nextcloud udostępnia nazwę użytkownika i hasło, których można użyć w nagłówku Basic Auth do przesłania danych logowania.2
  • Klient WebDAV skonfiguruj, wpisując otrzymaną nazwę użytkownika i hasło aplikacji w polach logowania.

Hasło aplikacji Nextcloud pozwala klientowi WebDAV uwierzytelnić się niezależnie od sposobu logowania w przeglądarce. Ma to znaczenie, gdy przeglądarka korzysta z innej metody logowania.
Przy uwierzytelnianiu dwuskładnikowym (2FA) klient WebDAV może wymagać hasła aplikacji.8

Jak sprawdzić adres Nextcloud WebDAV i dostępność serwera?

Adres Nextcloud WebDAV zweryfikujesz, porównując wpis w kliencie z adresem widocznym w ustawieniach plików. Następnie otwórz stronę Nextcloud w przeglądarce, by sprawdzić dostępność serwera.
Tak rozdzielisz błąd adresu od problemu z połączeniem. Poprawnie uwierzytelnione żądanie PROPFIND może zwrócić HTTP 207 (Multi-Status) z listą zasobów; odczytaj też kody wewnątrz odpowiedzi.3

  • Adres WebDAV konta skopiuj ponownie z ustawień plików Nextcloud. Porównaj go z wpisem w aplikacji, nie pomijając ścieżki.
  • Stronę serwera Nextcloud otwórz w przeglądarce na tym samym urządzeniu i w tej samej sieci, z których korzysta klient WebDAV.
  • Połączenie klienta WebDAV ponów po poprawieniu adresu i przeczytaj komunikat błędu. Ustal, czy klient nie dociera do serwera, czy serwer odmawia dostępu do konta.9

Wynik kontroli pomoże ustalić, czy trzeba sprawdzić adres, dostępność serwera czy dane logowania. Każda z tych przyczyn wymaga innej poprawki.
HTTP 404 oznacza, że nie znaleziono zasobu, a HTTP 401 wskazuje brak prawidłowego uwierzytelnienia.7

Dlaczego połączenie WebDAV nie działa i jak rozwiązać typowe błędy?

Połączenie Nextcloud WebDAV może przestać działać przez przekierowanie w nginx, serwerze WWW obsługującym żądania. Przyczyną bywa też błąd interfejsu WebDAV. W jednym ze zgłoszonych przypadków przekierowanie nginx zablokowało dostęp zarówno z menedżera plików Nautilus, jak i z Nextcloud.10
W innym zgłoszeniu Nextcloud pokazał podczas synchronizacji plików komunikat o nieprawidłowym działaniu interfejsu WebDAV.1 Przy diagnozowaniu konfiguracji nginx zwróć uwagę na odpowiedź HTTP 301, która oznacza trwałe przekierowanie.11

  • Przekierowanie nginx prześledź od adresu wpisanego w kliencie do adresu docelowego. Popraw regułę, jeśli odsyła żądania poza właściwą ścieżkę WebDAV.12
  • Interfejs WebDAV przetestuj po zmianie przekierowania, ponawiając połączenie z klienta.
  • Synchronizację plików uruchom ponownie po przywróceniu dostępu. Sprawdź, czy komunikat błędu zniknął.

Ponowne połączenie pozwoli ocenić skutek zmiany. Jeśli klient odzyska dostęp, problem dotyczył przekierowania. Jeśli nie, błąd nadal występuje po stronie interfejsu WebDAV.

Jak podłączyć menedżer plików lub aplikację do Nextcloud przez WebDAV?

Nextcloud podłączysz przez WebDAV w menedżerze plików lub innej aplikacji obsługującej ten protokół. Potrzebujesz adresu konta oraz danych logowania. W Eksploratorze plików Windows wybierz „Ten komputer”, a następnie „Mapuj dysk sieciowy”; w innej aplikacji dodaj połączenie WebDAV.
Dla adresu WebDAV używanego przez HTTPS standardowy port to 443.6

  • Adres WebDAV wklej w polu „Folder” w Eksploratorze Windows albo w polu adresu serwera w aplikacji.
  • Dane logowania Nextcloud wpisz w oknie uwierzytelniania. Jeśli dla tego połączenia powstało hasło aplikacji, użyj właśnie jego.
  • Połączenie WebDAV zatwierdź i otwórz widok plików. Sprawdź, czy klient wyświetla zawartość konta.

Widok plików konta potwierdza, że menedżer plików lub aplikacja połączyły się z Nextcloud. Możesz wtedy korzystać z zasobów dostępnych przez to połączenie.
Żądanie PROPFIND służące do wyświetlenia zawartości folderu może otrzymać odpowiedź HTTP 207 (Multi-Status) z informacjami o zasobach.3

Najczęściej zadawane pytania

Czy publiczny udział Nextcloud korzysta z tego samego adresu WebDAV co konto użytkownika?

Nie. Publiczne udziały mają osobny punkt końcowy WebDAV, którego adres różni się od adresu konta.

Od której wersji Nextcloud dostępny jest osobny punkt końcowy WebDAV dla publicznych udziałów?

Jest dostępny od wersji 29.

Jakie metody HTTP dodaje standard WebDAV?

To PROPFIND, PROPPATCH, MKCOL, COPY, MOVE, LOCK i UNLOCK.

Do czego służy nagłówek X-OC-Mtime w żądaniu WebDAV?

Zawiera znacznik czasu wyrażony w sekundach od początku epoki Unix.

Co może zawierać odpowiedź HTTP 207 na żądanie PROPFIND?

Może zawierać listę zasobów lub informacje o zasobach. Warto sprawdzić również kody znajdujące się wewnątrz odpowiedzi.

Źródła

  1. ↑Can’t access files, webdav not working – ℹ️ Support – Nextcloud community https://help.nextcloud.com/t/cant-access-files-webdav-not-working/36078
  2. ↑Basic APIs — Nextcloud 33 Developer Manual https://docs.nextcloud.com/server/33/developer_manual/client_apis/WebDAV/basic.html
  3. ↑RFC 4918 https://www.rfc-editor.org/rfc/rfc4918.html
  4. ↑Nextcloud Developer Manual — Chunked file upload https://docs.nextcloud.com/server/stable/developer_manual/client_apis/WebDAV/chunking.html
  5. ↑Nextcloud Server — zgłoszenie dotyczące chronionych udziałów WebDAV https://github.com/nextcloud/server/issues/59391
  6. ↑Nextcloud User Manual — Accessing Nextcloud files using WebDAV https://docs.nextcloud.com/server/stable/user_manual/en/files/access_webdav.html
  7. ↑RFC 9110 — HTTP Semantics https://www.rfc-editor.org/rfc/rfc9110.html
  8. ↑Nextcloud Developer Manual — Basic File & Folder Operations https://docs.nextcloud.com/server/stable/developer_manual/client_apis/WebDAV/basic.html
  9. ↑Nextcloud, „Troubleshooting” — instrukcja sprawdzenia połączenia z serwerem WebDAV oraz osobnego diagnozowania nieudanej autoryzacji https://docs.nextcloud.com/server/stable/admin_manual/desktop/troubleshooting.html
  10. ↑Use webdav from a different domain – ℹ️ Support – Nextcloud community https://help.nextcloud.com/t/use-webdav-from-a-different-domain/184988
  11. ↑NGINX configuration — Nextcloud Administration Manual https://docs.nextcloud.com/server/stable/admin_manual/installation/nginx.html
  12. ↑Nextcloud, „Reverse proxy” — przykładowe reguły przekierowań NGINX; Nextcloud, „Accessing Nextcloud files using WebDAV” — adres ścieżki WebDAV plików https://docs.nextcloud.com/server/stable/admin_manual/configuration_server/reverse_proxy_configuration.html