Sonarqube部署在Intranet服务器上(=> http url)。
当声明https网址使用DMZ反向代理访问此服务器时,会发生以下错误:
2013.11.22 19:47:53 ERROR rails /!\ FAILSAFE /!\ Fri Nov 22 19:47:53 +0100 2013
Status: 500 Internal Server Error
IP spoofing attack?!
HTTP_CLIENT_IP="[real.ip.deleted]"
HTTP_X_FORWARDED_FOR="[real.ip.deleted]"
Rails 是正确的,但是这个用例是可以接受的(向供应商提出SonarQube UI,或者当我想用我的咖啡时间在我的Smartphne上检查我的CI结果时!)。
禁用ip欺骗或取消选中代理ip验证的可能性非常大,配置为 IN sonar.properties
设置了一种解决方法(在声纳3.7.3中测试)
File : [sonar-dir]/war/sonar-server/WEB-INF/gems/gems/actionpack-2.3.15/lib/action_controller/base.rb
@@ip_spoofing_check = false
但修改分配是不可持续的
答案 0 :(得分:0)
这种情况似乎特别适用于在SonarQube前面的反向代理( ProxyPass 指令)中配置的Apache 2.2。
此版本always add 'HTTP_X_FORWARDED_FOR' header。
最佳解决方案(与暴露的解决方法相比)是在Apache 2.4中升级。
指令ProxyAddHeaders可用于控制此标题的添加。
其他stackoverflow线程:is-there-a-way-to-remove-apaches-reverse-proxy-request-headers