如何解析 "HttpException: Error 413" (SonarQube)
How to resolve "HttpException: Error 413" (SonarQube)
我最近安装了最新版本的 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.delegateExecution(BatchLauncher.java:91)
at org.sonar.runner.impl.BatchLauncher.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://****`
可能是什么原因? 声纳项目属性出错?
我的 sonarqube 服务器在 nginx 代理后面时遇到了同样的错误。
413
== Request entity too large
正如@jeroen-heier 所说。
我像这样对我的 nginx 配置应用了更改
server {
...
client_max_body_size 20M;
....
}
允许请求为 20 兆字节,并修复了它。
回答我自己的问题。原来是在sonar.properties文件中设置如下属性出错:
#sonar.web.host=0.0.0.0
取消注释并设置地址意味着只有拥有该地址的客户端才能访问声纳 qube。
如果你运行 sonar in docker ,默认的sonar 镜像不包含nginx server, 所以在container
中无能为力
我运行它在k8s中,声纳服务之前有一个入口,所以你应该配置入口和服务
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: sonarqube
namespace: default
annotations:
ingress.kubernetes.io/proxy-body-size: "20M"
spec:
rules:
...
要通过 helm 图表获取此信息,请添加
ingress:
enabled: true
annotations:
ingress.kubernetes.io/proxy-body-size: "20M"
如果您使用的是 nginx-ingress
,请添加
nginx.ingress.kubernetes.io/proxy-body-size: "20M"
进入 annotations:
我最近安装了最新版本的 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.delegateExecution(BatchLauncher.java:91)
at org.sonar.runner.impl.BatchLauncher.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://****`
可能是什么原因? 声纳项目属性出错?
我的 sonarqube 服务器在 nginx 代理后面时遇到了同样的错误。
413
== Request entity too large
正如@jeroen-heier 所说。
我像这样对我的 nginx 配置应用了更改
server {
...
client_max_body_size 20M;
....
}
允许请求为 20 兆字节,并修复了它。
回答我自己的问题。原来是在sonar.properties文件中设置如下属性出错:
#sonar.web.host=0.0.0.0
取消注释并设置地址意味着只有拥有该地址的客户端才能访问声纳 qube。
如果你运行 sonar in docker ,默认的sonar 镜像不包含nginx server, 所以在container
中无能为力我运行它在k8s中,声纳服务之前有一个入口,所以你应该配置入口和服务
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: sonarqube
namespace: default
annotations:
ingress.kubernetes.io/proxy-body-size: "20M"
spec:
rules:
...
要通过 helm 图表获取此信息,请添加
ingress:
enabled: true
annotations:
ingress.kubernetes.io/proxy-body-size: "20M"
如果您使用的是 nginx-ingress
,请添加
nginx.ingress.kubernetes.io/proxy-body-size: "20M"
进入 annotations: