Встроенная Jetty не может сделать GET для моих файлов ресурсов - PullRequest
0 голосов
/ 22 октября 2018

Я нахожусь в процессе использования SNI со встроенным Jetty с webAppContext.По большей части это работает нормально.Я перешел на версию 9.4.8 Jetty.

Служба запускается очень хорошо в отношении SNI и корректно загружает все и прекрасно читает все сертификаты.Но когда я делаю конкретные запросы от нескольких браузеров, которые используют JS и файлы изображений в моем пути к ресурсам, браузер жалуется, что для этих файлов не определено GET, но нет проблем с ссылками на операции GETting Controller, определенные с @RequestMapping.

Следующий код прекрасно работал в предыдущих версиях Jetty, но теперь не работает.Изменил ли Jetty 9.4.8 способ разрешения относительных ссылок.

Будем благодарны за любые мысли.


Код Jetty (до этого момента он работал годами)

 WebAppContext webAppContext = new WebAppContext();
        Resource webappDir = Resource.newResource(System.getProperty("traffic.app.dir"));
        webAppContext.setBaseResource(webappDir);
        webAppContext.setDescriptor("WEB-INF/web.xml");
        webAppContext.setContextPath("/");
        webAppContext.setParentLoaderPriority(false);
        webAppContext.setLogUrlOnStart(true);

, а фрагмент html, который сейчас не работает, -

<script type="text/javascript" src="/js/spin.js"></script>

, где путь к ресурсу file:///f/f2-traffic/webapp/

Ошибка

Loading failed for the <script> with source “http://test2:8000/tools/js/spin.js”.

405 Request method 'GET' not supported.

и URL-адрес страницы, на которой все это происходит, http://test2:8000/tools/tsub

ОБНОВЛЕНИЕ

В файле web.xml у меня есть следующее

...
    <filter-mapping>
        <filter-name>springSecurityFilterChain</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
...
<filter-mapping>
        <filter-name>domainTrafficDispatcher</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

Это проблема?

1 Ответ

0 голосов
/ 24 октября 2018

@ joakimerdfelt ТАК Я решил мою проблему после долгих потянув за волосы.

В процессе исправления я добавил новый Controller для обработки ссылок по умолчанию на / js / / images / и т. д. и подумал, что это как минимум исправит проблему.Это не так.

После долгих потягиваний волос выясняется, что кто-то два года назад для более старой версии программного обеспечения добавил сопоставления (очевидно, ни с чем).Я удалил эти сопоставления и добавил настройки безопасности, чтобы не применять защиту при извлечении файлов такого типа.Безопасность распространяется на все остальные ссылки.Я удалил Controller, чтобы выполнить обработку по умолчанию, и ... все это только начало работать так, как должно.

Спасибо за все предложения.

...