SonarQube回调Jenkins Webhook提示Server Unreachable故障求助
故障根因排查方向
故障明确触发于Jenkins侧ALB SSL证书更新后,优先从以下维度排查:
- SSL证书信任问题:SonarQube服务依赖JDK内置信任库校验HTTPS请求的证书合法性,ALB更新证书后,新证书的根/中间证书未导入SonarQube所用JDK的信任库,导致SonarQube向Jenkins发起webhook回调时SSL握手失败,返回Server Unreachable。
- TLS协议/加密套件不兼容:ALB更新证书时同步调整了SSL安全策略,禁用了SonarQube运行环境支持的TLS版本(如TLS 1.2)或加密套件,导致握手失败。
- 证书域名匹配异常:新证书的SAN(主体备用名称)未覆盖Jenkins webhook配置的回调域名,触发证书域名不匹配校验失败。
- 网络策略变更:ALB更新证书的操作同步修改了安全组、ACL或WAF规则,拦截了SonarQube服务器的IP访问请求。
解决方案
- 优先验证SSL握手状态
在SonarQube所在服务器执行命令测试Jenkins回调地址连通性:
curl -v https://<你的Jenkins回调域名>/sonarqube-webhook/
根据返回结果对应处理:
- 若返回
certificate verify failed:将ALB新证书的根证书、中间证书导入SonarQube所用JDK的信任库,执行命令(默认信任库密码为changeit):
导入完成后重启SonarQube服务生效。keytool -import -alias jenkins-alb-new -file ./新证书.crt -keystore $JAVA_HOME/jre/lib/security/cacerts - 若返回
protocol version error或no shared cipher:调整ALB的SSL策略,开启对TLS 1.2的支持,或升级SonarQube所用JDK版本适配ALB的加密套件要求。 - 若返回
no route to host/connection refused:检查ALB安全组入方向是否放通SonarQube服务器IP的443端口访问,确认ACL、WAF规则未拦截SonarQube的请求。
- 校验证书域名匹配
确认ALB新证书的SAN列表包含Jenkins webhook配置的回调域名,若不匹配则更换符合要求的SSL证书。 - 功能验证
配置完成后在SonarQube控制台的Webhook配置页点击「测试」按钮,确认返回成功后再执行Jenkins流水线验证质量门禁回调逻辑正常。
内容的提问来源于stack exchange,提问作者Aniruddha Bera
相关产品推荐
相关产品推荐

