无法自定义sonarqube嵌入tomcat的404页面

问题描述 投票:0回答:1

我在 /opt/sonarqube-9.9.6.92038 上安装了 sonarqube 我设置了 sonar.properties。

sonar.web.context=/sonarqube

声纳.web.port=9999

我使用 http://127.0.0.1:9999/sonarqube 访问 sonarqube。

但是当我尝试打开 http://127.0.0.1:9999http://127.0.0.1:9999/soanrqqqq 它会给出默认的 tomcat 404 页面。 404 page

有什么方法可以自定义这个tomcat 404页面,或者删除它吗?让它不显示 tomcat 版本或只显示找不到页面。

请大家帮忙给点建议,谢谢。

我尝试更新 /opt/sonarqube-9.9.6.92038/web/WEB-INF/web.xml 并将 error.html 放入 /opt/sonarqube-9.9.6.92038/web/error.html, 但这不起作用。

<error-page>
    <error-code>404</error-code>
    <location>/error.html</location>
</error-page>

有什么方法可以自定义这个tomcat 404页面,或者删除它吗?让它不显示 tomcat 版本或只显示找不到页面。

tomcat sonarqube
1个回答
0
投票

问题根本原因:

SonarQube 使用嵌入式 Tomcat 服务器,这使得自定义默认 404 错误页面变得困难。不过,有一些解决方法:

1.反向代理解决方案:

最推荐的方法是将 SonarQube 放置在反向代理服务器(如 Apache 或 Nginx)后面。这使您能够:

  1. 控制不存在路径的错误页面
  2. 隐藏Tomcat版本信息
  3. 提供额外的安全层

通过配置反向代理,您可以为 SonarQube 上下文之外的请求提供自定义错误页面。

2. SonarQube 配置:

虽然 SonarQube 不提供用于自定义 Tomcat 错误页面的直接配置选项,但您可以尝试以下操作:

  1. 自定义错误处理:在 SonarQube 实例中为 SonarQube 上下文下的路径实现自定义错误处理。

  2. Web Context:设置

    sonar.web.context
    中的
    sonar.properties
    属性,以确保所有请求都经过 SonarQube 的错误处理。

限制

需要注意的是:

  1. Tomcat 嵌入在 SonarQube 中,无法单独升级。
  2. Tomcat 版本信息在 SonarQube 中默认被视为公开,因为它是一个开源项目。
© www.soinside.com 2019 - 2024. All rights reserved.