简体   繁体   中英

How to resolve “HttpException: Error 413” (SonarQube)

I've recently installed the latest version of Jenkins , SonarQube 6.0 (running on a separate server) and when the Jenkins job attempts to upload sonar scanner results to the SonarQube server , I get the following error:

'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://****`

What could be the cause? An error in the sonar-project properties?

I had the same error where my sonarqube server was behind an nginx proxy.

413 == Request entity too large as @jeroen-heier said.

I applied a change to my nginx configuration like this

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

to allow requests to be 20 megabytes, and that fixed it.

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

If you run sonar in docker , the default sonar image does not contain nginx server, so there're nothing can do in container

I ran it in k8s, there's a ingress before sonar service, so you should config the ingress and the service

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

To get this via the helm chart, add

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

Answering my own question. It turned out to be an error in setting the following property in sonar.properties file:

#sonar.web.host=0.0.0.0

Uncommenting and setting to an address means that only clients that have that address can access the sonar qube.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM