Wildfly 16 - проблема с настройкой правил перезаписи внутри файла WAR - PullRequest
0 голосов
/ 23 апреля 2020

Это мой первый контакт с веб-технологией Wildfly / JBoss и JAVA. Я хочу написать это заранее, чтобы избежать путаницы и указать, что я новичок ie:)

Я пытаюсь настроить правила перезаписи для веб-сайта, размещенного на сервере WildFly 16. У меня машина Linux, на которой установлен Apache и настроен как обратный прокси. На этой же машине установлен docker, на котором работает Wildfly. У меня есть доступ к файлу WAR, и я пытаюсь сделать все изменения там (у меня нет доступа к файлам проекта)

Часть веб-сайта построена с использованием реакции и требует 3 переписывания:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.html [L]

Я проверил эти правила на Apache с помощью PHP (в файле htaccess), и они отлично работают.

Моя проблема в том, что я не могу заставить RewriteRules работать с Wildfly.

Согласно документам (https://docs.jboss.org/jbossweb/7.0.x/rewrite.html) мне нужно добавить:

<valve>
   <class-name>"org.jboss.web.rewrite.RewriteValve"</class-name>
</valve>

к jboss-web.xml. Я сделал это, но в WAR-файле, так что теперь файл WEB-INF\jboss-web.xml имеет следующее содержимое:

<?xml version="1.0" encoding="UTF-8"?>
<jboss-web version="8.0" xmlns="http://www.jboss.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.jboss.com/xml/ns/javaee http://www.jboss.org/schema/jbossas/jboss-web_8_0.xsd">
    <valve>
        <class-name>"org.jboss.web.rewrite.RewriteValve"</class-name>
    </valve>
    <context-root>/TestYourSkills</context-root>
</jboss-web>

, затем (также в соответствии с документами) я добавил файл rewrite.properties в папку WEB-INF со следующим содержанием:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/$ /index.html [L]

, но я не могу заставить это работать. Я пытался добавить еще более простые правила, но все мои попытки потерпели неудачу.

Я что-то не так делаю? Может быть, мне нужно включить что-то еще или добавить дополнительные файлы JAR в WEB-INF\lib? Я совершенно новичок в WildFly, но я провожу почти два дня, пробуя разные вещи и ища по net.

Любой совет более чем приветствуется.

...