如何解决“HttpException:Error 413”(SonarQube)

时间:2016-09-14 19:38:29

标签: jenkins sonarqube sonar-runner sonarqube-scan

我最近安装了最新版本的 Jenkins SonarQube 6.0 (正在运行)一个单独的服务器)当 Jenkins作业尝试将声纳扫描器结果上传到 SonarQube服务器时,我收到以下错误:

'ERROR: Error during Sonar runner execution
org.sonar.runner.impl.RunnerException: Unable to execute Sonar
at org.sonar.runner.impl.BatchLauncher$1.delegateExecution(BatchLauncher.java:91)
at org.sonar.runner.impl.BatchLauncher$1.run(BatchLauncher.java:75)
at java.security.AccessController.doPrivileged(Native Method)
at org.sonar.runner.impl.BatchLauncher.doExecute(BatchLauncher.java:69)
at org.sonar.runner.impl.BatchLauncher.execute(BatchLauncher.java:50)
at org.sonar.runner.api.EmbeddedRunner.doExecute(EmbeddedRunner.java:102)
at org.sonar.runner.api.Runner.execute(Runner.java:100)
at org.sonar.runner.Main.executeTask(Main.java:70)
at org.sonar.runner.Main.execute(Main.java:59)
at org.sonar.runner.Main.main(Main.java:53)
Caused by: org.sonarqube.ws.client.HttpException: Error 413 on http://****`

可能是什么原因? 声纳项目属性中的错误?

4 个答案:

答案 0 :(得分:16)

我的sonarqube服务器在nginx代理后面有同样的错误。

@ peroen-heier说,

413 == Request entity too large

我将更改应用到我的nginx配置中,如此

server {
  ...
  client_max_body_size 20M;
  ....
}

允许请求为20兆字节,并修复它。

答案 1 :(得分:4)

如果您使用nginx-ingress,请添加 nginx.ingress.kubernetes.io/proxy-body-size: "20M" 进入annotations:

答案 2 :(得分:2)

如果你在docker中运行声纳,默认的声纳图像不包含nginx服务器,所以容器中没有任何东西可以做

我在k8s中运行它,在声纳服务之前有一个入口,所以你应该配置入口和服务

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: sonarqube
  namespace: default
  annotations:
    ingress.kubernetes.io/proxy-body-size: "20M"
spec:
  rules:
...

要通过掌舵图获取此信息,请添加

ingress:
  enabled: true
  annotations:
    ingress.kubernetes.io/proxy-body-size: "20M"

答案 3 :(得分:0)

回答我自己的问题。在sonar.properties文件中设置以下属性时出现错误:

#sonar.web.host=0.0.0.0

取消注释并设置为地址意味着只有拥有该地址的客户才能访问声纳qube。