在RedHat上设置反向代理后面的Sonarqube

时间:2016-09-08 14:21:35

标签: apache ssl sonarqube reverse-proxy sonarqube-ops

我希望将Sonarqube 5.2(printscreen)配置为安全连接并在反向代理之后,但它不起作用。 我安装了mod_proxy和mod_ssl。

在httpd.conf中

<VirtualHost *:80>
     ServerName my.sonarqube.com
     Redirect permanent / https://my.sonarqube.com/
 </VirtualHost>

 <VirtualHost *:443>

     ServerName my.sonarqube.com

     SSLEngine on
     SSLCertificateFile /etc/ssl/sonarhosting.pem

     ProxyRequests Off
     ProxyPreserveHost On
     AllowEncodedSlashes NoDecode
     <Proxy *>
         Order deny,allow
         Allow from all
     </Proxy>
     ProxyPass / http://my.sonarqube.com:8080
     ProxyPassReverse / http://my.sonarqube.com:443
     RequestHeader set X_FORWARDED_PROTO 'https'
     RequestHeader set X-Forwarded-Port "443"

有人可以帮我吗?

2 个答案:

答案 0 :(得分:4)

您的httpd配置不正确。以下是您应设置的反向代理正常工作的代码段。

RequestHeader set X-FORWARDED-PROTO "https"
ProxyPass "/" "http://my.sonarqube.com:8082/"
ProxyPassReverse "/" "http://my.sonarqube.com:8082/"

如果您想防止BREACH和CRIME攻击问题,请删除SSLC压缩:

SSLCompression          off

您还应该使用 SSLProtocol 指令以及 SSLCipherSuite 指令所需的密码来检查您想要的SSL协议(您应该只允许TLS)。

答案 1 :(得分:1)

如果您想使用Sonarqube access.log原始IP(而不是代理IP),请更新这样的sonar.properties

sonar.web.accessLogs.pattern=%i{X-Forwarded-For} %l %u [%t] "%r" %s %b "%i{Referer}" "%i{User-Agent}"