1 2 Previous Next 22 Replies Latest reply on Jun 6, 2013 6:05 PM by mauriciomag Go to original post
      • 15. Re: Apache com mod_cluster e SSL com JBoss7
        rylphs

        Cara, obrigado pela rápida resposta.

         

        Entendi. Lendo o texto novamente me pareceu que uma conexão é a que faz a ponte entre o usuário e as aplicações do jboss, e a outra é para o funcionamento do balanceador em si (mod_cluster). Eu estou usando o modo managed e consegui implementar o SSL na conexão entre o domain-controller e os host-controllers. Estou utilizando máquinas virtuais (virtualbox). Eu criei uma interface TAP(192.168.1.1) na minha máquina física e configurei as interfaces das vms nessa mesma rede (192.168.1.2, 192.168.1.3, etc). Estou rodando o balanceador e o domain-controller na minha máquina local.

        Surgiu uma outra dúvida:

         

        Dado o cenário:

        Cliente<--- HTTP/HTTPS---> Balancer <--- AJP ---> Instância JBoss

         

        Como eu separo a rede entre o cliente e o balancer(HTTP/HTTPS) da rede entre o balancer e as instâncias do JBoss (AJP)? Digo isso porque quando defini o endereço pelo qual o apache estaria conversando com as instâncias:

        {code:xml}

        Listen 192.168.1.1:6666

        <VirtualHost 192.168.1.1:6666>

          ServerName 192.168.1.1

          EnableMCPMReceive

          <Directory />

            Order deny,allow

            Deny from all

            Allow from 192.168.1.

          </Directory>

          <Location /mod_cluster-manager>

           SetHandler mod_cluster-manager

           Order deny,allow

           Deny from all

           Allow from 192.168.1.

          </Location>

        ...

        </VirtualHost>

        {code}

        Automaticamente esse foi o endereço pelo qual o apache estava ouvindo os requests e repassando para o JBoss. É possível definir duas interfaces distintas? Tipo, eu ter o apache se comunicando com o JBoss por um endereço local (192.168.1.1:6666), mas ter o usuário acessando o apache por um IP público? Como faço isso?

        • 16. Re: Apache com mod_cluster e SSL com JBoss7
          mauriciomag

          Oi Raphael disponha!

           

          Vamos lá!

           

           

          Automaticamente esse foi o endereço pelo qual o apache estava ouvindo os requests e repassando para o JBoss

           

           

          Isso aconteceu por que voce está utilizando UDP. Sendo assim os nós vão "encontrar" por MCPM o servidor Web configurado para isso com "EnableMCPMReceive on".

           

          Tipo, eu ter o apache se comunicando com o JBoss por um endereço local (192.168.1.1:6666), mas ter o usuário acessando o apache por um IP público? Como faço isso?

           

           

           

          Na opção ServerName e vez de utilizar o IP 192.168.1.1 bastaria colocar o DNS por exemplo ServerName meuservidorjboss.com.br .

           

           

          Espera que tenha respondido... bom se ficou com dúvidas só dizer.

           

           

          Abs

          • 17. Re: Apache com mod_cluster e SSL com JBoss7
            rylphs

            Então, se eu tiver algo como:

            <VirtualHost 192.168.1.1:6666>

              ServerName www.meusite.com.br

              ServerName ippublico

              EnableMCPMReceive

              <Directory />

                Order deny,allow

                Deny from all

                Allow from 192.168.1.

              </Directory>

            #etc

             

            E se www.meusite.com.br aponta para um IP publico, e um usuário da internet acessar http://www.meusite.com.br/aplicacaoJboss, o apache vai fazer o balanceamento, mesmo que ele não veja a rede 192.168.1.1? Eu tentei aplicar adicionando www.meusite.com.br no meu /etc/hosts, mas não deu certo.

             

            Mais uma vez, obrigado!

            • 18. Re: Apache com mod_cluster e SSL com JBoss7
              mauriciomag

              Oi Raphael,

               

              Ai já caímos em algo de conceito.... No caso www.meusite.com.br é um DNS!

               

              A sigla DNS, significa Sistema de Nome de Domínios, esses servidores têm como tarefa principal resolver nomes de domínios em Ips. Logo conclu-se que se voce tem por exemplo um servidor no DigitalOcean https://www.digitalocean.com/  voce poderia contratar um servico DNS da LocaWeb por exemplo para resolver o nome meusite.com.br para o IP que necessáriamente teria que ser publico sendo assim o IP do server com o Apache seria Publico...    Na Amazon EC2 as maquinas tem um IP interno diferente do externo...  e não manjo muito de infra mas acredito que tenha alguma regra de NAT  que faz esse binding nos IPs.  Entao quando tenho uma Instancias JBoss em uma máquina e um Apache na outra eu sempre utilizo o IP publico no atributo proxy list do mod cluster. Eu conseguiria utilzar o IP interno somente se fosse uma VPC (http://aws.amazon.com/vpc/).

               

              Não sei se escrevi besteira mas é assim que eu penso...

               

              Grande Abraço

              • 19. Re: Apache com mod_cluster e SSL com JBoss7
                rylphs

                O IP apontado pelo DNS não tem que ser necessariamente público. Pode ser um servidor interno, como temos aqui na empresa. Mas de qualquer forma minha dúvida não é quanto o IP ser externo ou não, mas quanto a possibilidade de seguimentar a conexão apache-jboss e apache-cliente em duas redes distintas. No meu ambiente eu tenho duas redes:

                 

                192.168.1. : Rede de gerenciamento do JBoss. Utilizada pelas minhas máquinas virtuais, através de uma interface tap na minha máquina física.

                10.XXX.XXX. : Rede local onde a máquina física está conectada.

                 

                Esse é o caso do laboratório, mas em um caso real eu teria as instâncias do jboss compartilhando uma rede local e o apache vendo tanto a rede local como uma rede externa (internet).

                 

                internet <--link operadora--> apache <--interface rede interna--> instâncias jboss.

                 

                No meu caso:

                rede da empresa <--10.100.130.0--> apache <--192.168.1.0--> instâncias jboss.

                Eu precisaria que o apache estivesse conversando com o jboss por um ip interno (192.168.1.1), e respondesse a requisições através de um ip externo (10.100.130.135). Mas se eu fizer:

                <VirtualHost 192.168.1.1:6666>

                  ServerName 192.168.1.1

                  EnableMCPMReceive

                  <Directory />

                    Order deny,allow

                    Deny from all

                    Allow from 192.168.1.

                  </Directory>

                #etc

                E digitasse no browser http://10.100.130.135/jboss_app não iria funcionar. Por outro lado se eu colocar:

                 

                <VirtualHost 10.100.130.135:6666>

                ServerName 10.100.130.135 (ou DNS que aponte para esse endereço)

                 

                Eu teria que subir o JBoss nessa mesma rede e é o que eu não quero.

                 

                Eu acabei conseguindo da seguinte forma:

                Listen 192.168.1.1:6666

                <VirtualHost 192.168.1.1:6666>

                  ServerName 192.168.1.1

                  #ServerName ippublico

                  EnableMCPMReceive

                  <Directory />

                    Order deny,allow

                    Deny from all

                    Allow from 192.168.1.

                  </Directory>

                 

                  <Location /mod_cluster-manager>

                   SetHandler mod_cluster-manager

                   Order deny,allow

                   Deny from all

                   Allow from 192.168.1.

                  </Location>

                  KeepAliveTimeout 60

                  MaxKeepAliveRequests 0

                  ServerAdvertise On http://192.168.1.1:6666

                  AllowDisplay On

                  ManagerBalancerName group1

                </VirtualHost>

                 

                Listen 10.100.130.135:80

                <VirtualHost 10.100.130.135:80>

                        ServerName 10.100.130.135

                        ProxyPass / balancer://group1 stickysession=JSESSIONID|jsessionid nofailover=On

                        ProxyPassReverse / balancer://group1

                </VirtualHost>

                Mas não sei se é a melhor/única maneira.

                • 20. Re: Apache com mod_cluster e SSL com JBoss7
                  mauriciomag

                  Oi Raphael,

                   

                  Saquei.... bom realmente não saberia dizer....  no dia a dia eu sou Desenvolvedor e trabalho muito pouco com infra! 

                   

                  Achei legal a solução que encontrou

                   

                  Talvez uma  pessoa mais experiente do que eu poderia te dar uma solução melhor se é que existe! rsrs

                   

                  Vlw Obrigado por deixar o exemplo ai... se eu mesmo precisar vou me baser nesse ai.

                   

                  Abraços

                  • 21. Re: Apache com mod_cluster e SSL com JBoss7
                    rylphs

                    Pois é. Eu implementei isso meio na receita de bolo, não sei se é o melhor caminho. Se chegar a alguma outra solução posto aqui.

                    Cara, valeu pela ajuda!

                    • 22. Re: Apache com mod_cluster e SSL com JBoss7
                      mauriciomag

                      Ok posta mesmo hein hehee

                       

                      Estamos ai para isso parceiro

                       

                      Abs

                      1 2 Previous Next