Вопрос или проблема
У меня установлен SonarQube по адресу /opt/sonarqube-9.9.6.92038, и я настроил файл sonar.properties.
sonar.web.context=/sonarqube
sonar.web.port=9999
Я использую http://127.0.0.1:9999/sonarqube для доступа к SonarQube.
Но когда я пытаюсь открыть http://127.0.0.1:9999 или http://127.0.0.1:9999/soanrqqqq,
открывается стандартная страница 404 от Tomcat.
Есть ли способ настроить эту страницу 404 Tomcat или удалить ее? Чтобы не отображалась версия 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>
Есть ли какой-либо способ настроить эту страницу 404 Tomcat или удалить ее? Чтобы не отображалась версия Tomcat, а просто показывалось сообщение “страница не найдена”.
Ответ или решение
Для того чтобы настроить страницу ошибки 404 в SonarQube и избавиться от стандартной страницы ошибки Tomcat, нужно выполнить несколько шагов. Давайте рассмотрим их по порядку.
-
Создание пользовательской страницы ошибки:
Сначала создайте HTML-файл (например,error.html
) для страницы 404, который вы хотите отображать. Поместите его, скажем, в директорию/opt/sonarqube-9.9.6.92038/web/
.Пример содержимого
error.html
:<!DOCTYPE html> <html lang="ru"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Ошибка 404 - Страница не найдена</title> </head> <body> <h1>404 - Страница не найдена</h1> <p>К сожалению, запрашиваемая вами страница недоступна.</p> </body> </html>
-
Редактирование web.xml:
Далее, откройте файл/opt/sonarqube-9.9.6.92038/web/WEB-INF/web.xml
и добавьте в него следующие строки для обработки ошибок:<error-page> <error-code>404</error-code> <location>/error.html</location> </error-page>
Убедитесь, что этот блок добавлен внутри корневого тега
<web-app>
, обычно в самом конце файла. -
Перезапуск SonarQube:
После внесения изменений, вам необходимо перезапустить SonarQube, чтобы изменения вступили в силу. Вы можете сделать это с помощью следующих команд из терминала:cd /opt/sonarqube-9.9.6.92038/bin/linux-x86-64 ./sonar.sh stop ./sonar.sh start
-
Проверка работы:
После перезапуска SonarQube, попробуйте открыть URL, который вызывает ошибку 404 (например,http://127.0.0.1:9999/soanrqqqq
). Теперь должна отображаться ваша кастомизированная страница ошибки. -
Удаление информации о версии Tomcat:
Если вы хотите скрыть версию Tomcat, то вы можете изменить настройки конфигурации Tomcat. Для этого отредактируйте файлserver.xml
, находящийся в директорииconf
вашего установки Tomcat (учтите, что SonarQube встроен в свой собственный сервер приложений, и доступ к этому файлу может быть ограничен).В
server.xml
найдите строку, содержащую<Context>
и добавьте атрибутantiResourceLocking="true"
к вашей конфигурации:<Context antiResourceLocking="true">
Это должно помочь скрыть некоторые атрибуты, но учтите, что данное решение может потенциально повлиять на работу других компонентов.
Если на каком-либо этапе у вас возникли сложности или не удалось настроить страницу, пожалуйста, сообщите об этом, и мы попробуем найти другое решение!