在安全的反向代理后面运行sonarqube时,“请求中的CSFR错误”

时间:2017-12-20 09:10:32

标签: sonarqube

亲爱的sonarqube社区,

我们在apache2 secure(ssl)反向代理后面设置了sonarqube。正常访问工作正常,但特权操作会导致以下错误:

  

2017.12.19 08:26:02 DEBUG web [AWBtqc1RcFsQ / x1cAAAx] [auth.event]登录失败[原因| 错误的CSFR in   请求] [方法| JWT] [提供商| LOCAL |本地]     [IP | xxx.xxx.xxx.xxx | yyy.yyy.yyy.yyy] [登录|管理员]

sonarqube在'/ sonar'运行,apache配置如下所示:

...
ProxyPreserveHost On
AllowEncodedSlashes NoDecode
...
<Location /sonar>
  RequestHeader set X-Forwarded-Proto "https"
  ProxyPass        http://xxx.domain:9000/sonar
  ##ProxyPassReverse http://xxx.domain:9000/sonar
  ProxyPassReverse [https://]https://<service>.<domain>.<tld>/sonar
</Location>

sonarqube版本为6.7 LTS,apache版本为2.4.27

提前致谢

1 个答案:

答案 0 :(得分:5)

由于您正在使用反向代理设置,因此您应该注意v6.0中发生的这种变化,我们在Upgrade Notes中已经澄清了这一点:

  

到目前为止,如果您将SonarQube服务器保护在反向代理之后,则必须确保在代理级别将Cookie标记为安全。从v6.3开始,SonarQube在通过HTTPS进行交互时自动设置该标志。因此,您应该删除您在反向代理中放置的任何自定义配置,以将SonarQube Cookie标记为安全。

反向代理中的这种剩余配置可能会导致干扰,从而导致身份验证失败,例如您所观察到的。