caddy-webhook icon indicating copy to clipboard operation
caddy-webhook copied to clipboard

按照介绍的配置 route /webhook 一直报错404,日志中输出 ERROR http.handlers.webhook repository not setup

Open c588 opened this issue 3 years ago • 5 comments

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 image 最后想着看一下 caddy2 的 route 是怎么使用的,就多加了一段

route /route_test {
  redir https://baidu.com
}

结果发现可以正常使用了 image 但是我看 caddy-webhook 的介绍和另外一位朋友提的 issue 中的配置都是直接写的 route /webhook 并且可以正常使用,所以来问一下,希望作者大大可以解答一下我的迷惑,感谢 :D

c588 avatar Jan 18 '22 01:01 c588

虽然我不是特别懂 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

LadderOperator avatar Jan 27 '22 07:01 LadderOperator

我也碰到了这个问题。

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 avatar Jun 12 '22 15:06 wwxiaoqi

@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 有缓存什么的

c588 avatar Jun 13 '22 03:06 c588

@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 avatar Jul 14 '22 03:07 wwxiaoqi

@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 可是出现了和上面一样的问题。

指路👉 LadderOperator/docker-caddy2-hugo-alidns#1

Update: 我使用这种方式解决了我的问题:https://github.com/wwxiaoqi/docker-blog-service

wwxiaoqi avatar Aug 30 '22 08:08 wwxiaoqi