Windows VM IIS反向代理部署SonarQube Azure AD集成失效问题
SonarQube Azure AD认证跳转失败修复方案
基础信息
- 部署环境:Windows虚拟机,前置IIS反向代理配置SSL证书
- SonarQube版本:
8.0.0.29455 - Azure AD Authentication插件版本:
1.2.0 - 已验证配置项:基础用户名/密码认证正常,Azure AD Client ID、Secret、租户ID配置正确,SonarQube服务基础URL配置正确且末尾无斜杠
- 故障表现:点击Azure AD登录按钮跳转至微软登录页发起请求后,直接重定向回SonarQube登录页,未完成身份认证
修复步骤
- 配置IIS反向代理请求头传递
打开IIS管理器,定位到SonarQube对应的站点,进入HTTP响应头配置页,添加以下自定义项:
X-Forwarded-Proto: httpsX-Forwarded-For: %REMOTE_ADDR%X-Forwarded-Host: 你的SonarQube访问域名
进入URL重写规则页,编辑SonarQube反向代理规则,在服务器变量设置中添加HTTP_X_FORWARDED_PROTO、HTTP_X_FORWARDED_HOST、HTTP_X_FORWARDED_FOR三个变量,勾选替换现有值选项,保存配置。
- 修改SonarQube代理配置
打开SonarQube安装目录下conf/sonar.properties文件,新增以下配置:
sonar.web.forwardHeadersStrategy=NATIVE sonar.web.proxyProtocol=true sonar.web.sso.enable=true
修改完成后重启SonarQube系统服务生效。
校验Azure AD应用回调地址
登录Azure Portal查看SonarQube对应的应用注册配置,重定向URI必须与SonarQube基础URL完全匹配,后缀固定为/oauth2/callback/aad,例如SonarQube访问地址为https://sonar.test.com,回调地址必须填写https://sonar.test.com/oauth2/callback/aad,不允许增减路径字符或斜杠。开启调试日志排查(可选)
如果以上配置调整后故障仍存在,可开启插件调试日志定位具体错误:
打开SonarQube安装目录下conf/logback.xml,新增以下配置:
<logger name="com.microsoft.sonarqube.auth" level="DEBUG" />
重启SonarQube服务后复现登录故障,查看logs/web.log中Azure AD认证相关的报错信息即可定位根因。
内容的提问来源于stack exchange,提问作者Greg
相关产品推荐
相关产品推荐

