Jetty: como redirecionar o URL base?

1

Cenário:

  1. Estou usando um servidor jetty.
  2. Eu tenho um webapp sendo executado em: myip / myWebApp

Pergunta: Como redirecionar a URL base para a URL base / algo

ie. http://190.23.30.1/ - > http://190.23.30.1/mywebapp

Assim, quando um usuário atingir http://190.23.30.1/ , meu servidor redirecionará para http://190.23.30.1/myWebApp

    
por Mrshll187 24.09.2013 / 19:16

2 respostas

0

Pode haver uma forma baseada em configuração para fazer isso, mas uma solução rápida e suja é criar uma página de índice que redireciona para o URL desejado.

<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title>MyWebApp</title>
        <meta http-equiv="refresh" content="0;URL='/mywebapp'" />
    </head>
    <body>
    </body>
</html>
  • Crie um diretório 'root' no jetty: mkdir / webapps / root
  • Crie um index.html em / webapps / root / com conteúdo como o acima
por 05.12.2013 / 15:36
0

O Jetty tem um Manipulador de reconfiguração que pode ser ativado usando

$ java -jar start.jar --add-to-start=rewrite'

Seguindo os exemplos dados na documentação, você pode adicionar uma regra no arquivo xml:

<Configure id="Server" class="org.eclipse.jetty.server.Server">
  <Ref refid="Rewrite">
    <Call name="addRule">
      <Arg>
        <New class="org.eclipse.jetty.rewrite.handler.RedirectPatternRule">
          <Set name="pattern">/</Set>
          <Set name="location">/myWebApp/</Set>
        </New>
      </Arg>
    </Call>
  </Ref>
</Configure>

O equivalente para o arquivo de configuração do Jetty incorporado seria:

Server server = new Server();
RewriteHandler rewrite = new RewriteHandler();

RedirectPatternRule redirect = new RedirectPatternRule();
redirect.setPattern("/");
redirect.setReplacement("/myWebApp/");
rewrite.addRule(redirect);
    
por 07.10.2018 / 17:36