基础配置
# 多端口
# :80 :81 多端口
example.com:80 :81 {
root * /usr/share/caddy/
file_server
}
# 取消缓存
example.com {
#修改header取消缓存
handle {
header Cache-Control "no-cache, no-store, must-revalidate"
}
root * /usr/share/caddy/
file_server
}
# 添加token验证
- 修改配置
example.com {
#添加pw参数判断
@jiami {
query pw=abcdefg
}
root @jiami /usr/share/caddy/
file_server
}
- 访问
http://example.com?pw=abcdefg
# 添加basicauth
验证(网页访问输入账号密码)
- 生成密钥
caddy hash-password --plaintext abc123
#输出
$2a$14$J8U4Tf1gxx1ErgadUM6trOm3vQvBLZ236J8KTwJ1Hwnc09cRx90B2
- 修改配置(用户:test, 密码:abc123)
example.com {
basicauth * {
test $2a$14$J8U4Tf1gxx1ErgadUM6trOm3vQvBLZ236J8KTwJ1Hwnc09cRx90B2
}
root * /usr/share/caddy/
file_server
}
# 禁止GET
请求
example.com {
@oneapi {
not method GET
}
reverse_proxy @oneapi localhost:3000
@root {
method GET
}
abort @root
}
# CEL表达式匹配
example.com {
@oneapi {
not method GET
}
reverse_proxy @oneapi localhost:3000
# 匹配"GET"请求,"/login"和"/api/*"路径
@root {
expression `method('GET') || path('/login') || path('/api/*')`
}
abort @root
}
# 移除path前缀
example.com {
handle /sub/* {
uri strip_prefix /sub
}
}
上次更新: 2025/03/22, 03:52:10