2016-04-29 1 views
0

Я недавно начал проверку уязвимостей безопасности нашего веб-приложения с помощью инструмента Zap. После запуска я наткнулся на то, что я должен включить файл robots.txt, а также в наш webapp.
Инструмент ищет файл в корневом каталоге webapp (https://localhost:8080), и файл представлен там, но он выдает сообщение об ошибке «файл не найден». Вебсервер Я бег это Jetty-9.3.8 и следующая древовидная структура веб-приложениеГде разместить файл robots.txt на сервере причала?

etc 
    - webdefault.xml 
webapps 
    - myapp 
      - web.xml 
      - generated-web.xml 
robots.txt  

Мы используем встроенный причал для запуска сервера. Например:

WebAppContext context = new WebAppContext(); 
    context.setContextPath("/myapp"); 
    context.setWar(jettyHome + "/webapps/myapp/"); 
    context.setDefaultsDescriptor(jettyHome + "/etc/webdefault.xml"); 
    File overrideFile = new File(jettyHome 
      + "/webapps/myapp/WEB-INF/generated-web.xml"); 
    if (overrideFile.exists()) { 
     context.setOverrideDescriptor(jettyHome 
       + "/webapps/myapp/WEB-INF/generated-web.xml"); 
    } 

    server.setHandler(context); 
    server.start(); 

Итак, как разместить файл в корневом каталоге не то, что я получаю. У кого-нибудь есть представление об этом?

ответ

1

Для этого вам потребуется что-то полезное статическое содержимое от contextPath от /.

Добавить еще WebAppContext или ServletContextPath или ResourceHandler, чтобы подать файл. Убедитесь, что у вас есть ...

  • context.setContextPath("/") набор
  • context.setBaseResource(Resource.newResource("uri/path/to/my/static/content")
Смежные вопросы