caddy-webhook
caddy-webhook copied to clipboard
按照介绍的配置 route /webhook 一直报错404,日志中输出 ERROR http.handlers.webhook repository not setup
Caddyfile
:80 {
encode zstd gzip
log {
output file /var/log/access.log
}
root * /data/blog
file_server
handle_errors {
@404 {
expression {http.error.status_code} == 404
}
handle @404 {
rewrite * /404.html
file_server
}
}
route /webhook {
webhook {
repo "https://github.com/c588/hugoblog.git"
branch main
path /data/blog
secret ******
}
}
}
但是使用 GitHub webhook 都是404
最后想着看一下 caddy2 的 route 是怎么使用的,就多加了一段
route /route_test {
redir https://baidu.com
}
结果发现可以正常使用了
但是我看 caddy-webhook 的介绍和另外一位朋友提的 issue 中的配置都是直接写的
route /webhook
并且可以正常使用,所以来问一下,希望作者大大可以解答一下我的迷惑,感谢 :D
虽然我不是特别懂 Caddy 和配置,但是我折腾了几天整了Caddy API的形式配置,瞎猜一个是因为 Caddy V2 里面 router 的顺序的关系:
Because the order of HTTP middleware evaluation is significant, the Caddyfile will normally reorder directives after parsing to make the Caddyfile easier to use; you don't have to worry about what order you type things.
你可以试试从 API 获取配置看看实际上 Caddyfile 被 Caddy 理解成了啥:
curl localhost:2019/config/
解决我疑惑的关键文档是这个:https://caddyserver.com/docs/json/apps/http/servers/errors/#routes
或许可以参考下我的配置(一知半解写的,不一定对但它能用):https://github.com/LadderOperator/docker-caddy2-hugo-alidns
我也碰到了这个问题。
ERROR http.handlers.webhook repository not setup {"error": "Get \"https://github.com/wwxiaoqi/wwxiaoqi.github.io/info/refs?service=git-upload-pack\": net/http: TLS handshake timeout", "path": "/srv/blog"}
这似乎自动在 repo
的尾巴上添加了 info/refs?service=git-upload-pack
@wwxiaoqi
我也碰到了这个问题。
ERROR http.handlers.webhook repository not setup {"error": "Get \"https://github.com/wwxiaoqi/wwxiaoqi.github.io/info/refs?service=git-upload-pack\": net/http: TLS handshake timeout", "path": "/srv/blog"}
这似乎自动在
repo
的尾巴上添加了info/refs?service=git-upload-pack
你可以把你的 CaddyFile 贴出来看一看。或者跟我一样尝试随便加一条规则看看能不能解析到正确的路由。我觉得有一种可能是 CaddyFile 有缓存什么的
@wwxiaoqi
我也碰到了这个问题。
ERROR http.handlers.webhook repository not setup {"error": "Get \"https://github.com/wwxiaoqi/wwxiaoqi.github.io/info/refs?service=git-upload-pack\": net/http: TLS handshake timeout", "path": "/srv/blog"}
这似乎自动在repo
的尾巴上添加了info/refs?service=git-upload-pack
你可以把你的 CaddyFile 贴出来看一看。或者跟我一样尝试随便加一条规则看看能不能解析到正确的路由。我觉得有一种可能是 CaddyFile 有缓存什么的
我已经放弃使用这个方案了,开始尝试使用 @LadderOperator 提及的 LadderOperator/docker-caddy2-hugo-alidns 可是出现了和上面一样的问题。
指路👉 https://github.com/LadderOperator/docker-caddy2-hugo-alidns/issues/1
@wwxiaoqi
我也碰到了这个问题。
ERROR http.handlers.webhook repository not setup {"error": "Get \"https://github.com/wwxiaoqi/wwxiaoqi.github.io/info/refs?service=git-upload-pack\": net/http: TLS handshake timeout", "path": "/srv/blog"}
这似乎自动在repo
的尾巴上添加了info/refs?service=git-upload-pack
你可以把你的 CaddyFile 贴出来看一看。或者跟我一样尝试随便加一条规则看看能不能解析到正确的路由。我觉得有一种可能是 CaddyFile 有缓存什么的
我已经放弃使用这个方案了,开始尝试使用 @LadderOperator 提及的 LadderOperator/docker-caddy2-hugo-alidns 可是出现了和上面一样的问题。
Update: 我使用这种方式解决了我的问题:https://github.com/wwxiaoqi/docker-blog-service