3 Replies Latest reply on Jun 5, 2013 1:52 PM by mauriciomag

    JBoss EAP 6.0.1 + Apache ProxyPass - aplicação JSF2 retornando links absolutos com IP do JBoss

    leandro.costa

      Tenho uma aplicação JSF2 rodando num JBoss EAP 6.0.1 com o Apache fazendo proxy reverso na frente.

      No Apache eu configuro o virtualhost (www.minhapp.com), no mod_proxy configuro o endereço do JBoss (ajp://localhost:8009), e rodo o JBoss na mesma máquina que o Apache.

      Quando acesso uma página da aplicação ela me retorna o HTML com links para os resources (css, js, etc.), mas as URLs estão absolutas e com o IP do JBoss.

       

      A pergunta é: como faço pro JBoss entender que a aplicação responde pelo domínio www.minhapp.com (porta 80) ?

      Uma solução melhor ainda seria: como faço pro ${request.contextPath} retornar somente o nome do contexto e o resto do path ( /minhapp/public/resources/scripts/main.js)?

       

      exemplo:

      Ao acessar: http://www.minhapp.com/minhapp/public/index.jsf os links retornam assim:

       

      <script type="text/javascript" src="http://192.168.1.1:8080/minhapp/public/resources/scripts/main.js"></script>

       

      No arquivo .xhtml estou adicionando os recursos assim:

       

      <h:head>

          <script type="text/javascript" src="${request.contextPath}/public/resources/scripts/main.js" />

      </h:head>

       

      No Apache eu configuro o virtualhost assim:

       

      <VirtualHost 192.168.1.1:80>

              ServerName www.minhapp.com

       

              <Location />

                      ProxyPass ajp://localhost:8009/

                      ProxyPassReverse ajp://localhost:8009/

              </Location>

      </VirtualHost>

       

      E rodo o JBoss na mesma máquina que o Apache:


      $JBOSS_HOME/bin/standalone.sh -b 0.0.0.0

       

      O DNS aponta www.minhapp.com para 192.168.1.1.