Caddy文件服务器针对不同客户端返回不同的文件列表格式
Caddy文件服务器配置
针对不同的客户端返回不同的文件列表格式
配置思路
识别不同客户端的默认请求头,修改请求头,传递给file_server
修改不同的配置。
难点是,如果是默认请求头,修改,如果客户端指定请求头,不修改
解决办法: 使用正则表达式和 CEL (Common Expression Language)
做复杂组合匹配,然后使用matcher进行对应的处理.
@default_curl `header_regexp('Accept', '[*]/[*]') && header_regexp('User-Agent', 'curl.*')`
@default_apifox `header_regexp('Accept', '[*]/[*]') && header_regexp('User-Agent', 'apifox.*')`
request_header @default_curl Accept "text/plain"
request_header @default_apifox Accept "application/json"