在安全的反向代理后面运行sonarqube时,“请求中的CSRF错误”
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在安全的反向代理后面运行sonarqube时,“请求中的CSRF错误”相关的知识,希望对你有一定的参考价值。
亲爱的sonarqube社区,
我们在apache2 secure(ssl)反向代理后面设置了sonarqube。正常访问工作正常,但特权操作会导致以下错误:
2017.12.19 08:26:02 DEBUG web [AWBtqc1RcFsQ / x1cAAAx] [auth.event]登录失败[原因|请求中的CSFR错误] [方法| 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
提前致谢
由于您使用的是反向代理设置,因此您应该注意v6.0中发生的这种变化,我们刚刚在Upgrade Notes中澄清了这一变化:
到目前为止,如果您将SonarQube服务器保护在反向代理之后,则必须确保在代理级别将Cookie标记为安全。从v6.3开始,SonarQube在通过HTTPS进行交互时自动设置该标志。因此,您应该删除您在反向代理中放置的任何自定义配置,以将SonarQube cookie标记为安全。
可能是反向代理中的这种剩余配置会导致干扰,从而导致身份验证失败,就像您观察到的那样。
以上是关于在安全的反向代理后面运行sonarqube时,“请求中的CSRF错误”的主要内容,如果未能解决你的问题,请参考以下文章
如何在带有 SSL 的 nginx 反向代理后面正确运行 BeEF
Angular App 在 nginx 上运行并在附加的 nginx 反向代理后面