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

本地部署Gitlab 10.6.2与Jenkins,Webhook测试报500错误求助

Gitlab Webhook测试返回500 Internal Server Error(URI::InvalidURIError)排查方案

碰到这种Gitlab Webhook触发时返回500错误的情况,结合你提供的日志信息(URI::InvalidURIError),大概率是URI格式解析出了问题,我给你梳理几个常见的排查方向和解决办法:

先确认Webhook URL的格式是否合规

这是最容易踩坑的点,你要仔细检查Gitlab里配置的Webhook URL:

  • 必须以http://或https://开头,绝对不能省略协议头,不然Gitlab会把它当成相对路径解析,直接触发URI错误
  • 检查URL里有没有特殊字符,比如空格、中文、未转义的&、#这类符号,如果有,要做URL编码处理
  • 本地环境下,尽量用127.0.0.1或者你的本地IP地址代替localhost,避免本地DNS解析的潜在问题

考虑Gitlab 10.6.2版本的已知bug

Gitlab 10.x的部分版本存在URI解析的兼容性问题,尤其是当Webhook URL包含复杂路径或查询参数时:

  • 先简化你的Webhook URL试试,比如暂时去掉不必要的查询参数,只保留Jenkins的基础回调地址(比如http://127.0.0.1:8080/project/your-job-name),测试是否能正常触发
  • 如果条件允许,建议升级Gitlab到10.6.x的后续小版本,或者直接升到更高的稳定版本,官方在后续版本里修复了不少URI解析相关的问题

排查本地网络与服务可用性

虽然是本地部署,但也可能存在服务访问的问题:

  • 先确认Jenkins服务是否正常运行,用curl http://127.0.0.1:8080(换成你的Jenkins端口)测试,看能不能正常返回页面内容
  • 检查Gitlab服务器能不能正常访问Jenkins的地址,如果用了自定义主机名,要确认/etc/hosts里的映射配置是否正确

检查Secret Token的格式

如果你在Webhook里配置了Secret Token,也要排查这个:

  • 看看令牌里有没有换行符、特殊符号这类可能导致URI解析失败的内容,建议重新生成一个纯字母数字的令牌,再测试一次

补充:你提供的日志里显示是GET请求触发的测试,实际生产中Webhook是POST请求,但测试时的URI解析逻辑是一致的,所以上面的排查点同样适用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 08:10:53