部署
下载地址,搜索windows-amd64-webdav.zip
# 网络相关设置
address: 0.0.0.0 # 服务器监听地址。0.0.0.0表示监听所有可用的网络接口。
port: 6065 # 服务器监听的端口号。
# 如果希望直接启用TLS(传输层安全协议)的相关设置。
tls: false # 是否启用TLS(即HTTPS)。默认为 false。
cert: cert.pem # TLS证书文件路径。
key: key.pem # TLS私钥文件路径。
# 应用于WebDAV路径的前缀。默认为'/'。
prefix: /
# 启用或禁用调试日志。默认为'false'。
debug: true
# 禁用探测文件内容类型(Content-Type)。默认为'false'。
noSniff: false
# 服务器是否运行在可信代理之后。当此项为true时,
# 将使用X-Forwarded-For头信息来记录登录尝试的远程地址(如果该头信息存在)。
behindProxy: false
# 用户连接后可以访问的目录。
# 除非用户定义了属于自己的'directory',否则将使用此目录。
# 默认为'.'(当前目录)。
directory: .
# 用户的默认权限。此选项不区分大小写。可能的
# 权限包括:C(创建)、R(读取)、U(更新)、D(删除)。可以组合多个
# 权限。例如,允许读取和创建,设置为"RC"。默认为"R"。
permissions: CRUD
# 用户的默认权限规则。默认为空(无规则)。规则按从后到前的顺序应用,
# 即,从列表末尾开始,第一个匹配请求的规则将被应用于该请求。
# 规则中的路径总是相对于用户的目录。
rules: []
# 为用户重定义规则的行为。可选值有:
# - overwrite(覆盖):当用户定义了规则时,这些规则将覆盖任何已定义的全局规则。
# 也就是说,全局规则对该用户不再适用。
# - append(追加):当用户定义了规则时,这些规则将被追加到已定义的全局规则之后。
# 也就是说,对于此用户,将先检查其特定规则,然后检查全局规则。
# 默认为'overwrite'。
rulesBehavior: overwrite
# 日志配置
log:
# 日志格式('console'(控制台), 'json'(JSON))。默认为'console'。
format: console
# 启用颜色显示。默认为'true'。仅当格式为'console'时适用。
colors: true
# 日志输出。可以配置多个输出目标。默认为仅输出到'stderr'(标准错误)。
outputs:
- stderr
# CORS(跨源资源共享)配置
cors:
# 是否应用CORS配置。默认为'false'。
enabled: false
# 是否允许发送凭据(如cookies)。默认为false,此处配置为true。
credentials: true
# 允许的请求头列表。
allowed_headers:
- Depth # WebDAV协议中常用的一个头,用于指定操作深度。
# 允许访问的来源(主机)列表。
allowed_hosts:
- http://localhost:8080 # 例如,允许来自本地开发服务器8080端口的请求。
# 允许的HTTP方法列表。
allowed_methods:
- GET
# 暴露给客户端的响应头列表(即客户端JavaScript可以访问的头信息)。
exposed_headers:
- Content-Length
- Content-Range
# 用户列表。如果列表为空,则不需要身份认证。
# 否则,将自动配置基本身份认证(Basic Authentication)。
#
# 如果您将认证委托给其他服务,可以通过基本认证代理用户名,
# 然后使用以下选项禁用WebDAV自身的密码检查:
#
noPassword: true
# users:
# # 示例'admin'用户,使用明文密码。
# - username: admin
# password: admin
# # 示例'john'用户,使用bcrypt加密的密码,并有自定义目录。
# # 您可以使用'webdav bcrypt'命令行工具生成bcrypt加密的密码。
# - username: john
# password: "{bcrypt}$2y$10$zEP6oofmXFeHaeMfBNLnP.DO8m.H.Mwhd24/TOX2MWLxAExXi4qgi"
# directory: /another/path
# # 示例用户,其详细信息将从环境变量中获取。
# - username: "{env}ENV_USERNAME"
# password: "{env}ENV_PASSWORD"
# - username: basic
# password: basic
# # 覆盖默认权限。
# permissions: CRUD # 拥有创建、读取、更新、删除所有权限。
# rules:
# # 通过此规则,用户将无法访问其目录下的 /some/file 文件。
# - path: /some/file
# permissions: none # 无任何权限。
# # 通过此规则,用户可以在其目录下的 /public/access/ 文件夹内
# # 进行创建、读取、更新和删除操作。
# - path: /public/access/
# permissions: CRUD
# # 通过此规则,用户可以读取和更新所有以.js结尾的文件。
# # 此规则使用正则表达式进行匹配。
# - regex: "^.+.js$"
# permissions: RU # 仅限读取和更新。