# WebDAV Destination

The WebDAV protocol is a minor extension to the HTTP protocol used for web requests. Because it is compatible with HTTP it also supports SSL/TLS certificates and verification similar to what websites are using.

## User interface

<figure><picture><source srcset="https://2363712449-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F7cMJiGuXy340g9NzpxLY%2Fuploads%2Fgit-blob-d634be88a3ea3025df271e113f315cab55e9029a%2FScreenshot%202025-11-03%20at%2014.55.28.png?alt=media" media="(prefers-color-scheme: dark)"><img src="https://2363712449-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F7cMJiGuXy340g9NzpxLY%2Fuploads%2Fgit-blob-d427653d3a2af272f7694e79eea402198faaac86%2FScreenshot%202025-11-03%20at%2014.55.21.png?alt=media" alt="Showing the options needed for configuring the WebDAV connection"></picture><figcaption></figcaption></figure>

To use the WebDAV destination you must enter: server, path on server, username and password. Depneding on your setup, you may also need to add some advanced options as explained below.

## URL format for Commandline

To use the WebDAV destination, you can use a url such as:

```
webdav://<hostname>/<path>
  ?auth-username=<username>
  &auth-password=<password>
```

You can supply a port through the hostname, such as `webdav://hostname:8080/path`.

## Authentication method

There are three different authentication methods supported with WebDAV:

* Integrated Authentication (mostly on Windows)
  * Use `--integrated-authentication=true`to enable. This works for some hosts on Windows and most likely has no effect on other systems as it requires a Windows-only extension to the request and a server that supports it.
* Digest Authentication
  * Use `--force-digest-authentication=true` to use Digest-based authentication
* Basic Authentication
  * Sending the username and password in plain-text. This is the default, but is insecure if not using an SSL/TLS encrypted connection.

You need to examine your destination servers documentation to find the supported and recommended authentication method.

## Encryption and Certificates

To use an encrypted connection, add the option `--use-ssl=true` such as:

```
webdav://<hostname>/<path>
  ?auth-username=<username>
  &auth-password=<password>
  &use-ssl=true
```

This will then use an HTTPS secured connection subject to the operating system certificate validation rules. If you need to use a self-signed certificate that is not trusted by the operating system, you can use the option `--accept-specified-ssl-hash=<hash>` to specifically trust a certain certificate. The hash value is reported if you attempt to connect and the certificate is not trusted.

This technique is similar to certificate pinning and prevents rotating the certificate and blocks man-in-the-middle attacks. If you are using the graphical user interface, the "Test connection" button will detect untrusted certificates and ask to pin the certificate.

For testing setups you can also use `--accept-any-ssl-certificate` that will disable certificate validation. As this enables various attacks it is not recommended besides for testing.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.duplicati.com/backup-destinations/standard-based-destinations/webdav-destination.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
