Y

o

k

a

z

e

部署开源项目webdav

Kaz
GithubWebDAV
# Tools

部署

下载地址,搜索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 # 仅限读取和更新。

Copyright © 2025 KAZE. All rights reserved.