You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

本地Jenkins通过ngrok对接GitHub Webhook返回302 Found问题求助

解决Jenkins GitHub Webhook返回302 Found的问题

我来帮你搞定这个Jenkins Webhook返回302的问题——这个情况我之前碰到过好几次,核心原因其实很明确:

问题根源

Jenkins的github-webhook端点有个严格的路由规则:请求URL必须包含末尾的斜杠。当你用不带斜杠的http://056b05cb.ngrok.io/github-webhook发起请求时,Jenkins会自动触发302重定向到带斜杠的版本,但GitHub的Webhook服务不会自动跟随这个重定向,所以就出现了你看到的交付失败提示。

具体解决步骤

1. 修正GitHub Webhook的URL

这是最直接的解决方案:

  • 打开你GitHub仓库的「Settings」→「Webhooks」页面
  • 找到当前配置的Webhook,把URL从http://056b05cb.ngrok.io/github-webhook修改为http://056b05cb.ngrok.io/github-webhook/(重点是加上末尾的斜杠)
  • 保存修改后,点击「Redeliver」重新测试Webhook交付,大概率就能得到200成功响应了。

2. 验证Jenkins的权限设置(如果步骤1无效)

如果修改URL后还是有问题,需要检查Jenkins的安全配置:

  • 进入Jenkins后台,点击「Manage Jenkins」→「Configure Global Security」
  • 在「Authorization」区域,确保你已经配置了允许访问Webhook端点的权限;如果是测试环境,可以暂时开启「Allow anonymous read access」(注意生产环境不要这么做)
  • 另外,在「CSRF Protection」部分,勾选「Enable proxy compatibility」选项——因为ngrok是代理服务,开启这个可以避免CSRF拦截导致的额外问题。

手动验证方法

你可以用curl命令手动测试Jenkins的Webhook端点是否正常:

curl -X POST http://056b05cb.ngrok.io/github-webhook/ -H "Content-Type: application/json" -d '{}'

如果返回200状态码,说明端点已经可以正常接收请求了。

内容的提问来源于stack exchange,提问作者Xiaoxi Bian

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 04:02:53