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

GitLab无法访问私有域名Jenkins,如何配置Webhook?

解决GitLab访问VPC内私有Jenkins域名的Webhook问题

方法1:配置GitLab所在EC2的本地DNS解析

直接在GitLab部署的EC2实例上,通过本地hosts文件强制解析私有域名:

  • 先获取Jenkins Ingress对应的VPC内可访问端点:如果用AWS ALB作为Ingress控制器,取ALB的私有IP;如果是NodePort模式,选一个EKS节点的私有IP加上对应NodePort端口。
  • 编辑EC2的/etc/hosts文件,添加映射规则:
    10.0.XX.YY  jenkins.your-private-domain.com
    
  • 保存后在EC2上执行curl jenkins.your-private-domain.com验证连通性,确认能访问Jenkins后,即可正常配置GitLab Webhook。

方法2:使用AWS Route 53私有托管区

借助Route 53实现VPC内的私有域名解析:

  • 登录AWS控制台,进入Route 53,创建或选择对应VPC的私有托管区。
  • 添加A记录,将jenkins.your-private-domain.com指向Jenkins Ingress的VPC内IP(ALB私有IP或NodePort模式的节点IP+端口)。
  • 确保GitLab所在EC2的DNS配置指向VPC默认DNS服务器(/etc/resolv.conf中地址为VPC网段+2),这样GitLab就能通过Route 53正确解析私有域名。

方法3:直接使用Jenkins的IP+端口替代私有域名

跳过域名解析,直接用VPC内可访问的IP地址配置Webhook:

  • 若使用ALB,直接填写ALB的私有IP(无需额外端口,ALB默认转发80/443端口)。
  • 若使用NodePort模式,填写EKS节点私有IP+Jenkins Service对应的NodePort,例如10.0.XX.YY:30080。
  • 注意:如果Jenkins依赖Ingress的域名规则路由,需在GitLab Webhook的「请求头」中添加Host: jenkins.your-private-domain.com,确保Ingress能正确转发请求。

方法4:打通跨VPC网络(若GitLab与EKS不在同一VPC)

如果GitLab所在EC2和EKS集群分属不同VPC:

  • 配置VPC peering,在两个VPC的路由表中添加对方网段的路由规则。
  • 调整双方安全组,开放GitLab EC2到Jenkins端点的HTTP/HTTPS端口(80/443或自定义端口)。
  • 完成网络打通后,再使用上述任意一种域名解析或直接IP的方式配置Webhook。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 19:48:17