使用curl获取SonarQube质量门禁(quality gate)状态返回IIS错误问题
问题排查及修复方案
1. 首先修正curl命令格式错误
你写的curl命令完全不符合基础语法规则,这是触发密码提示、返回异常页面的核心原因:
- SonarQube 令牌(Token)的基础认证规则为:
-u <令牌值>:,冒号必须紧跟在令牌后,不能加空格,也不能放在令牌和请求地址中间 - 你原命令把冒号单独拆到令牌和URL中间,导致curl误把令牌识别为用户名,才会弹出密码输入提示,错误的参数传递也导致请求没有命中SonarQube接口
修正后的命令如下:
curl.exe -u "78c2b8628934a6cdc8ae80f5acadaaaafdfsa96:" "https://sonarurl/api/qualitygates/project_status?projectKey=MarUiSonarQube3"
2. 如修正命令后仍返回IIS默认页,排查IIS反向代理配置
如果修改命令后还是返回IIS默认页面,说明你部署在IIS上的SonarQube反向代理配置存在问题:
- 确认你使用的
sonarurl域名/IP,正确绑定到了IIS中为SonarQube配置的反向代理站点 - 检查IIS站点的URL重写规则是否配置正确,是否能将
/api开头的请求正常转发到后端SonarQube服务的监听端口 - 确认后端SonarQube服务本身处于正常运行状态,无端口冲突、服务停机等问题
内容的提问来源于stack exchange,提问作者Senthil Chandran
相关产品推荐
相关产品推荐

