配置GitHub Webhook触发Jenkins自动构建遇502错误求助
以下是针对性的排查和解决步骤:
确认Jenkins容器端口映射有效性
检查Docker启动配置,确保容器内Jenkins默认端口(通常为8080)已正确映射到宿主机端口,比如docker run命令里的-p 8080:8080参数,或是docker-compose.yml中的端口配置。本地直接访问http://localhost:宿主机端口,确认Jenkins页面能正常加载,排除服务本身故障。验证ngrok转发配置
启动ngrok时必须指定宿主机上Jenkins对应的端口,例如ngrok http 8080。打开ngrok本地控制台(http://localhost:4040)查看转发请求状态,确认外部请求是否能到达宿主机。复制ngrok生成的HTTPS地址直接在浏览器访问,若无法打开Jenkins,说明转发链路存在问题,尝试重启ngrok。检查Jenkins Webhook权限配置
如果Jenkins开启了权限验证,需在Webhook URL中携带认证信息,格式为https://<用户名>:<密码>@<ngrok地址>/github-webhook/。同时确保已安装并配置GitHub插件(路径:Manage Jenkins -> Configure System -> GitHub服务器),插件版本需与Jenkins版本兼容。排查网络防火墙限制
检查宿主机防火墙(如ufw、iptables)是否允许Jenkins映射端口的入站请求;若使用云服务器,需确认云服务商安全组规则已开放对应端口,避免外部请求被拦截。更新或重启ngrok服务
免费版ngrok存在连接时长和并发限制,若长时间运行可能出现链路异常,尝试重启ngrok。另外,老旧版本可能存在兼容性问题,建议更新到最新稳定版后重试。
内容的提问来源于stack exchange,提问作者Tomiwa Aribisala

