SonarQube Scanner上传450M报告时出现500错误求助
Hey,我碰到过好几次这类大报告上传失败的问题,500错误一般都是服务端或者传输环节的配置顶不住了,给你几个靠谱的解决方向,一步步来试:
排查与解决步骤
1. 调整SonarQube服务端的请求大小限制
SonarQube默认的请求上限大概率扛不住450M的报告,得改服务端配置:
- 找到SonarQube安装目录下的
conf/sonar.properties文件 - 添加或修改这两行配置(把最大请求设为500M,足够覆盖你的450M报告):
sonar.web.javaAdditionalOpts=-Dorg.eclipse.jetty.server.Request.maxFormContentSize=524288000 -Dorg.eclipse.jetty.server.Request.maxFormKeys=10000 - 重启SonarQube服务,让配置生效
2. 延长Scanner客户端的超时时间
大文件上传很容易超时,给Scanner加个超时参数:
- 运行Scanner的时候加上这个参数,把超时设成300秒(5分钟),不够的话还能再调大:
sonar-scanner -Dsonar.ws.timeout=300
3. 检查网络与代理限制
- 确认客户端和SonarQube服务端之间的网络稳定,有没有防火墙、代理卡了大文件传输
- 如果用了代理,得确保代理允许这么大的请求,同时调整代理的超时和大小限制
4. 优化报告体积(可选)
要是上面的方法都没效果,可以先试试缩小报告的大小:
- 在
sonar-project.properties里排除不需要扫描的内容,比如第三方依赖、构建产物这些:sonar.exclusions=**/node_modules/**,**/dist/**,**/*.log - 暂时关掉不必要的扫描规则(比如非必须的代码覆盖率报告),减少报告内容
5. 看服务端日志找具体原因
500是服务端内部错误,日志里肯定有更详细的线索:
- 去SonarQube安装目录的
logs文件夹,重点看web.log和ce.log,里面的错误堆栈能帮你定位到底是哪出问题了
提示:如果调整完配置还是不行,把服务端日志里的具体错误信息贴出来,能更精准地解决问题
内容的提问来源于stack exchange,提问作者Chiranjit
相关产品推荐
相关产品推荐

