Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
c588 opened this issue Jan 18, 2022 · 5 comments

Comments

@c588
Copy link

c588 commented Jan 18, 2022

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

@LadderOperator
Copy link

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

@wwxiaoqi
Copy link

我也碰到了这个问题。

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

@c588
Copy link
Author

c588 commented Jun 13, 2022

@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
Copy link

@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

@wwxiaoqi
Copy link

@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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants