我刚从Sonar 3.2.1升级到Sonar 3.6。通过在SONAR_HOME中放置jetty.xml文件,我能够将Sonar 3.2.1配置为使用https。同样的方法似乎不适用于Sonar 3.6以及查看org.sonar.application.JettyEmbedder的源代码我认为https端口硬编码为8443.仅供参考,嵌入式jetty版本为7.6.11。
相关的声纳常见问题解答如下:
SonarQube可以在HTTPS模式下运行 不可以。但您可以使用反向代理在标准HTTPS基础结构中运行SonarQube(在这种情况下,必须配置反向代理以在每个HTTP请求标头中设置值'X_FORWARDED_PROTO:https'。如果没有此属性,SonarQube服务器启动重定向将退回到HTTP)。
如果确实如此,那么Sonar在安全方面已经倒退了一步。是否有另一种方法可以将Sonar / Jetty配置为在https上运行?
答案 0 :(得分:1)
您可以在同一台计算机上安装Apache并设置反向代理。
您的http://your-sonar-host.com地址需要在端口80上运行.Apache将其转发到9000(声纳在端口9000上运行)
安装Apache后,打开配置并输入以下内容:
<Location />
ProxyPass http://your-sonar-host.com:9000/
ProxyPassReverse http://your-sonar-host.com:9000/
RequestHeader set X_FORWARDED_PROTO 'https'
SetEnv force-proxy-request-1.0 1
SetEnv proxy-nokeepalive 1
</Location>
您无需做任何其他事情。