10 Replies Latest reply on May 6, 2013 8:41 AM by netoralves

    redirecionamento mod_cluster

    adrianoschmidt

      Pessoal..

       

      fiquei com algumas dúvidas em algumas propriedades do mod_cluster...

       

      no arquivo mod_cluster.conf nos virtualhosts existe a propriedade ServerName que segundo a documentação deve ser o nome do servidor:

      The ServerName directive sets the request scheme, hostname and port that the server uses to identify itself. This is used when creating redirection URLs.

       

      http://httpd.apache.org/docs/2.2/mod/core.html#servername

       

      Mas quando que esse ServerName vai ser utilizado? Vai ser quando a propriedade "UseCanonicalName" estiver On?

       

      With UseCanonicalName On Apache will use the hostname and port specified in the ServerName directive to construct the canonical name for the server. This name is used in all self-referential URLs, and for the values of SERVER_NAME and SERVER_PORT in CGIs.


      http://httpd.apache.org/docs/2.2/mod/core.html#usecanonicalname

       

      No meu caso eu tenho várias URLs que apontam para o mesmo IP:

      url1.teste.com.br > 192.168.16.136

      url2.teste.com.br > 192.168.16.136

      url3.teste.com.br > 192.168.16.136

       

      sempre essa URL eu vou colocar no ServerName e devo setar o UseCanonicalName como On? Pergunto pois a minha URL não pode ser transformada em um IP..

       

      Pergunto isso pois vou ter vários VirtualHost...

      <VirtualHost url1.teste.com.br:80>

      <Directory />

      Order deny,allow

      Allow from all

      </Directory>

       

      ServerName url1.teste.com.br

      KeepAliveTimeout 60

      ManagerBalancerName mycluster

      MaxKeepAliveRequests 0

      RedirectPermanent / https://url1.teste.com.brr/

      UseCanonicalName On

      </VirtualHost>

       

      <VirtualHost url1.teste.com.br:443>

      SSLEngine on

      SSLCipherSuite AES128-SHA:ALL:!ADH:!LOW:!MD5:!SSLV2:!NULL

      SSLVerifyDepth 10

      SSLCertificateFile /etc/ssl/server-certs/my-server.cer

      SSLCertificateKeyFile /etc/ssl/server-certs/my-server.key.public

       

      <Directory />

      Order deny,allow

      Allow from all

      </Directory>

       

      ServerName url1.teste.com.br

      RedirectPermanent / https://url1.teste.com.br/cluster

      UseCanonicalName On

      </VirtualHost>

       

       

       

      <VirtualHost url2.teste.com.br:80>

      <Directory />

      Order deny,allow

      Allow from all

      </Directory>

       

      ServerName url2.teste.com.br

      KeepAliveTimeout 60

      ManagerBalancerName mycluster

      MaxKeepAliveRequests 0

      RedirectPermanent / https://url2.teste.com.brr/

      UseCanonicalName On

      </VirtualHost>

       

       

       

      <VirtualHost url2.teste.com.br:443>

      SSLEngine on

      SSLCipherSuite AES128-SHA:ALL:!ADH:!LOW:!MD5:!SSLV2:!NULL

      SSLVerifyDepth 10

      SSLCertificateFile /etc/ssl/server-certs/my-server.cer

      SSLCertificateKeyFile /etc/ssl/server-certs/my-server.key.public

       

      <Directory />

      Order deny,allow

      Allow from all

      </Directory>

       

      ServerName url2.teste.com.br

      RedirectPermanent / https://url2.teste.com.br/cluster

      UseCanonicalName On

      </VirtualHost>

       

       

      Estou no caminho certo?

       

      Att,

      Adriano Schmidt

      http://www.localhost8080.com.br

        • 1. Re: redirecionamento mod_cluster
          netoralves

          Olá Adriano, Bom dia!

           

          É justamente como voce  colocou, há algumas situações que o Apache precisa construir uma URL  auto referencial, como voce disse essa não é sua situação,  no caso se  voce usar UseCanonicalName On, voce usará o hostname e porta  especificada na diretiva ServerName para construir o nome canônico para o  servidor. Este nome é usado em todas as URLs auto-referencial.

          Se  estiver Off, irá formar URLs auto-referencial usando o hostname e porta  fornecido pelo usuario, caso isso seja fornecidos, do contrário, ele  usará o nome canônico, conforme definido,  voce pode referenciar essa diretiva dentro de cada vhost, como fez.

           

          Exite ainda a opção, UseCanonicalName DNS, que é usado em hospedagens virtuais baseados em IP(particularmente nunca usei), pode tentar dar uma olhada na documentação do apache a respeito...

          Pelo seu cenário, por utilizar varias URLs, acredito que seria melhor manter o UseCanonicalName On mesmo.

           

          Outro detalhe que vi que mencionou, é o uso do mesmo ip para varios URL's, legal o Vhost serve justamente pra isso né !!

          Mas  isto se baseia em portas diferentes da 443, não é possivel utilizar a porta 443 para mais de uma app, porque ela não trabalha com consultas via host: headers, neste caso terá que utilizar ips diferentes, passei por este problema tambem, no meu ambiente tenho 5 app que rodam com ssl, utilizo 5 apelidos de rede, um para cada app, ficou mais ou menos assim:

           

          # apachectl -S

           

          192.168.0.1:80     url1.teste.com.br     (/etc/apache/sistes-enabled/url1.teste.com.br:1)

          192.168.0.1:443     url1.teste.com.br     (/etc/apache/sistes-enabled/url1.teste.com.br-ssl:1)

          192.168.0.2:80     url2.teste.com.br     (/etc/apache/sistes-enabled/url2.teste.com.br:1)

          192.168.0.2:443     url2.teste.com.br     (/etc/apache/sistes-enabled/url2.teste.com.br-ssl:1)

          ...

           

          Espero ter ajudado.

           

          []'s

           

           

          1 of 1 people found this helpful
          • 2. Re: redirecionamento mod_cluster
            adrianoschmidt

            Oi,

             

            o problema q eu tô passando é que como todas as URLs apontam para o mesmo IP, um VirtualHost sobrescreve o outro..

             

            meu mod_cluster tá assim:

             

            <VirtualHost 192.168.0.184:80>

             

            <Directory />

            Order deny,allow

            Allow from all

            </Directory>

             

            ServerName 192.168.0.184

             

            KeepAliveTimeout 60

            ManagerBalancerName mycluster

            MaxKeepAliveRequests 0

            ServerAdvertise On

            EnableMCPMReceive On

             

            RedirectPermanent / https://192.168.0.184/

             

            </VirtualHost>

             

              

            <VirtualHost 192.168.0.184:443>

             

            SSLEngine on

            SSLCipherSuite AES128-SHA:ALL:!ADH:!LOW:!MD5:!SSLV2:!NULL

            SSLVerifyDepth 10

            SSLCertificateFile /etc/ssl/server-certs/my-server.cer

            SSLCertificateKeyFile /etc/ssl/server-certs/my-server.key.public

             

            <Directory />

            Order deny,allow

            Allow from all

            </Directory>

             

            ServerName 192.168.0.184

             

            RedirectPermanent / http://www.google.com

             

            </VirtualHost>

             

             

              

             

            <VirtualHost test0010:80>

             

            <Directory />

            Order deny,allow

            Allow from all

            </Directory>

             

            ServerName test0010

             

            KeepAliveTimeout 60

            ManagerBalancerName mycluster

            MaxKeepAliveRequests 0

             

            RedirectPermanent / https://test0010/

             

            </VirtualHost>

             

             

             

            <VirtualHost test0010:443>

             

            SSLEngine on

            SSLCipherSuite AES128-SHA:ALL:!ADH:!LOW:!MD5:!SSLV2:!NULL

            SSLVerifyDepth 10

            SSLCertificateFile /etc/ssl/server-certs/my-server.cer

            SSLCertificateKeyFile /etc/ssl/server-certs/my-server.key.public

             

            <Directory />

            Order deny,allow

            Allow from all

            </Directory>

             

            ServerName test0010

             

            RedirectPermanent / http://www.globo.com

             

            </VirtualHost>

             

             

                       

            <Location /mod_cluster-manager>

            SetHandler mod_cluster-manager

            Order deny,allow

            Allow from all

            </Location>

             

            e quando inicio dá:

             

            [root@localhost ~]# /etc/init.d/httpd start

            Starting httpd: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain for ServerName

            [Fri May 03 09:13:18 2013] [warn] VirtualHost 192.168.0.184:443 overlaps with VirtualHost test0010:443, the first has precedence, perhaps you need a NameVirtualHost directive

            [Fri May 03 09:13:18 2013] [warn] VirtualHost 192.168.0.184:80 overlaps with VirtualHost test0010:80, the first has precedence, perhaps you need a NameVirtualHost directive

                                                                       [  OK  ]

             

             

            Sabe como resolver isso? :/

            • 3. Re: redirecionamento mod_cluster
              adrianoschmidt

              do jeito que falei acima...

               

              quando eu acesso http://192.168.0.184/ eu sou redirecionado para o site do google.. show de bola!

               

              mas quando eu acesso http://test0010/ eu sou redirecionado para o site do google também.. e não para o globo.com :/

               

              Isso acontece devido ao erro dito na inicialização: VirtualHost 192.168.0.184:80 overlaps with VirtualHost test0010:80

               

              :/

              • 4. Re: redirecionamento mod_cluster
                netoralves

                Cara, testei no meu note agora rapidinho funcionou de boa, efetuei a instalação no meu RHEL 6 workstation, segue abaixo tutorial:

                 

                https://access.redhat.com/site/documentation/en-US/JBoss_Enterprise_Application_Platform/6/html/Administration_and_Configuration_Guide/Install_the_mod_cluster_Module_Into_Apache_HTTPD_or_Enterprise_Web_Server_HTTPD1.html

                 

                o ip da minha interface é 10.11.21.191 e o nome da minha maquina é vaio, apontei para o certificado auto assinado que ja vem nativo do mod_ssl, ficou deste jeito:

                 

                <VirtualHost 10.11.21.191:80>

                 

                    <Directory />

                    Order deny,allow

                    Allow from all

                    </Directory>

                 

                    ServerName 10.11.21.191

                    KeepAliveTimeout 60

                    ManagerBalancerName mycluster

                    MaxKeepAliveRequests 0

                    ServerAdvertise On

                    #EnableMCPMReceive On

                 

                    RedirectPermanent / https://10.11.21.191/

                 

                </VirtualHost>

                 

                 

                <VirtualHost 10.11.21.191:443>

                 

                    SSLEngine on

                    SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW

                    SSLCertificateFile /etc/pki/tls/certs/localhost.crt

                    SSLCertificateKeyFile /etc/pki/tls/private/localhost.key

                    SSLVerifyDepth 10

                 

                 

                    <Directory />

                    Order deny,allow

                    Allow from all

                    </Directory>

                 

                    ServerName 10.11.21.191

                    RedirectPermanent / http://www.google.com

                 

                </VirtualHost>

                 

                <VirtualHost vaio:80>

                 

                    <Directory />

                    Order deny,allow

                    Allow from all

                    </Directory>

                 

                    ServerName vaio

                    KeepAliveTimeout 60

                    ManagerBalancerName mycluster

                    MaxKeepAliveRequests 0

                    RedirectPermanent / https://vaio/

                 

                </VirtualHost>

                 

                 

                    <VirtualHost vaio:443>

                 

                    SSLEngine on

                 

                    SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW

                    SSLCertificateFile /etc/pki/tls/certs/localhost.crt

                    SSLCertificateKeyFile /etc/pki/tls/private/localhost.key

                    SSLVerifyDepth 10

                 

                    <Directory />

                    Order deny,allow

                    Allow from all

                    </Directory>

                 

                 

                ServerName vaio

                RedirectPermanent / http://www.globo.com

                 

                </VirtualHost>

                 

                 

                    <Location /mod_cluster-manager>

                    SetHandler mod_cluster-manager

                    Order deny,allow

                    Allow from all

                    </Location>

                 

                Redirecionou o http://10.11.21.191 para o google, e http://vaio para globo.com....show de bola !!

                 

                Comentei o #EnableMCPMReceive On, porque não tenho o modulo ativo, não sei se isso poderia impactar, tente refazer desta forma que fiz, feja se funciona.

                 

                Abraćo !

                • 5. Re: redirecionamento mod_cluster
                  adrianoschmidt

                  Conseguiiiiiii \o)

                   

                  Utilizei o NameVirtualHost no próprio mod_cluster.conf para permitir que várias URLs apontassem para o mesmo IP.

                  NameVirtualHost *:80

                  NameVirtualHost *:443

                   

                  E coloquei todos os VirtualHost com *:porta para que seja utilizado o ServerName

                  <VirtualHost *:80>

                  <VirtualHost *:443>

                   

                  Aqui estou com os hostname test0010 e test0011 apontando para o mesmo IP: 10.0.0.105.. mas ao acessar http://test0010 sou redirecionado para um lugar e ao acessar http://test0011 sou redirecionado para outro lugar...

                  #################################################

                  # Configuracao para que varias URLs possam apontar para o mesmo IP

                  NameVirtualHost *:80

                  NameVirtualHost *:443

                   

                   

                  #################################################

                  # VirtualHost utilizado pelo JBoss

                  <VirtualHost *:80>

                   

                  <Directory />

                  Order deny,allow

                  Allow from all

                  </Directory>

                   

                  ServerName 10.0.0.105

                  RedirectPermanent / https://10.0.0.105/

                   

                  KeepAliveTimeout 60

                  ManagerBalancerName mycluster

                  MaxKeepAliveRequests 0

                  ServerAdvertise On

                  EnableMCPMReceive On

                   

                  </VirtualHost>

                   

                  <VirtualHost *:443>

                   

                  SSLEngine on

                  SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW

                  SSLCertificateFile /etc/pki/tls/certs/localhost.crt

                  SSLCertificateKeyFile /etc/pki/tls/private/localhost.key

                  SSLVerifyDepth 10

                   

                  <Directory />

                  Order deny,allow

                  Allow from all

                  </Directory>

                   

                  ServerName 10.0.0.105

                  RedirectPermanent / http://www.google.com.br

                   

                  KeepAliveTimeout 60

                  ManagerBalancerName mycluster

                  MaxKeepAliveRequests 0

                   

                  </VirtualHost>

                   

                    

                  #################################################

                  # VirtualHost para test0010

                  <VirtualHost *:80>

                   

                  <Directory />

                  Order deny,allow

                  Allow from all

                  </Directory>

                   

                  ServerName test0010

                  RedirectPermanent / https://test0010/

                   

                  KeepAliveTimeout 60

                  ManagerBalancerName mycluster

                  MaxKeepAliveRequests 0

                   

                  </VirtualHost>

                   

                  <VirtualHost *:443>

                   

                  SSLEngine on

                  SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW

                  SSLCertificateFile /etc/pki/tls/certs/localhost.crt

                  SSLCertificateKeyFile /etc/pki/tls/private/localhost.key

                  SSLVerifyDepth 10

                   

                  <Directory />

                  Order deny,allow

                  Allow from all

                  </Directory>

                   

                  ServerName test0010

                  RedirectPermanent / http://www.localhost8080.com.br

                   

                  KeepAliveTimeout 60

                  ManagerBalancerName mycluster

                  MaxKeepAliveRequests 0

                   

                  </VirtualHost>

                   

                    

                  #################################################

                  # VirtualHost para test0011

                  <VirtualHost *:80>

                   

                  <Directory />

                  Order deny,allow

                  Allow from all

                  </Directory>

                   

                  ServerName test0011

                  RedirectPermanent / https://test0011/

                   

                  KeepAliveTimeout 60

                  ManagerBalancerName mycluster

                  MaxKeepAliveRequests 0

                   

                  </VirtualHost>

                   

                  <VirtualHost *:443>

                   

                  SSLEngine on

                  SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW

                  SSLCertificateFile /etc/pki/tls/certs/localhost.crt

                  SSLCertificateKeyFile /etc/pki/tls/private/localhost.key

                  SSLVerifyDepth 10

                   

                  <Directory />

                  Order deny,allow

                  Allow from all

                  </Directory>

                   

                  ServerName test0011

                  RedirectPermanent / http://www.globo.com.br

                   

                  KeepAliveTimeout 60

                  ManagerBalancerName mycluster

                  MaxKeepAliveRequests 0

                   

                  </VirtualHost>

                   

                   

                  #################################################

                  # Gerenciador do mod_cluster

                  <Location /mod_cluster-manager>

                  SetHandler mod_cluster-manager

                  Order deny,allow

                  Allow from all

                  </Location>

                   

                   

                  Abraços!!

                  Adriano Schmidt

                  http://www.localhost8080.com.br

                  • 6. Re: redirecionamento mod_cluster
                    netoralves

                    conseguiu??

                    vi que q usou o cert e a estrutura do arq mod_cluster da forma q fiz...

                    namevirtualhost, deveria ter sido descomentado no httpd.conf(80) ssl.conf (443), isso eh premissa para se usar vhost...

                    sobre virtualhost como *:80 ou com ip:80 ou nome:80, funciona da msma forma, nao foi isso q solucionou seu "problema" amigao...rs e que bom que "conseguiu sozinho" boa sorte das proximas vezes entao...

                    • 7. Re: redirecionamento mod_cluster
                      adrianoschmidt

                      Oi Neto, eu não tinha visto o seu post das 2:15 PM... não sei, não recebi e-mail falando que você tinha respondido.. só vi agora depois dessa sua última resposta..

                       

                      Peço mil desculpas se pareci arrogante e te agradeço, de coração, pela ajuda!!

                       

                      Não foi minha intenção dizer que consegui sozinho, na verdade eu segui esse post aqui: http://stackoverflow.com/questions/2232205/serving-two-websites-with-apache-with-single-domain-name-and-single-ip-address

                       

                      Uma das coisas que admiro nas pessoas e sempre busco praticar é a gratidão, então mais uma vez eu te agradeço e peço desculpas por esse mal entidido..

                       

                      Abraço!!

                      Adriano Schmidt

                      • 8. Re: redirecionamento mod_cluster
                        netoralves

                        Ok Adriano, estranho, pois recebi confirmação de todos os seus replys, inclusive seu post foi um reply do meu, mas enfim, ae é com a sua consciência...

                        Como voce disse tambem é uma das coisa que admiro e tento pregar, a gratidão quando ajudado e ajudar sempre que possivel, mas enfim, ainda credito no ser humano, e se alega ignorancia quem sou eu para julgar, que bom que deu certo e seu problema foi resolvido, pois acima de todo este mal entendido, este é, e sempre foi o objetivo do post, resolver o seu problema !

                         

                        Abraço, bom dia e boa semana !

                        • 9. Re: redirecionamento mod_cluster
                          mauriciomag

                          Oi Neto e Adriano,

                           

                          Legal essa thread de voces hein

                           

                          Que bom que deu tudo certo... uma pena eu ter perdido essa :/

                           

                          Estive meio doente desde quinta-feria... hoje que estou melhor a partir de agora to no gás novamente

                           

                          Mestre Neto depois precisamos conversar sobre e nossos estudos hehehe mas nos falamos por email.

                           

                           

                          Grande Abraço aos dois

                          • 10. Re: redirecionamento mod_cluster
                            netoralves

                            Grande Mau !!

                             

                            Combinado meu parceiro !!

                             

                            Forte abraço !!