Apache2 redirecionando todo o tráfego HTTPS para uma única página

1

Eu tenho um problema com o meu Apache2, provavelmente estou fazendo um erro de configuração, mas não entendo o que.

Todo o meu tráfego https sempre redireciona para uma única página, não posso adicionar páginas https diferentes.

Esta é minha configuração:

    <VirtualHost *:80>
            ServerAdmin webmaster@localhost

        DocumentRoot /var/www
        <Directory />
                Options FollowSymLinks
                AllowOverride All
        </Directory>
        <Directory /var/www/>
                Options Indexes FollowSymLinks MultiViews ExecCGI
                AllowOverride All
                Order allow,deny
                allow from all
                AddHandler cgi-script .py
        </Directory>


        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
        <Directory "/usr/lib/cgi-bin">
                AllowOverride None
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all
        </Directory>

        ErrorLog ${APACHE_LOG_DIR}/error.log

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn

        CustomLog ${APACHE_LOG_DIR}/access.log combined

    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>

</VirtualHost>


  <VirtualHost *:80>
    DocumentRoot /var/www/www1/
    ServerName www1.lucas.myurl.be
    </VirtualHost>

  <VirtualHost *:80>
    DocumentRoot /var/www/www2/
    ServerName www2.lucas.myurl.be
    </VirtualHost>

<VirtualHost *:443>
    DocumentRoot /usr/share/roundcube/
    ServerName webmail.lucas.myurl.be
    SSLEngine on
    SSLCertificateFile PlaceOFMy1stCert
    SSLCertificateKeyFile PlaceOfMy1stKey
  </VirtualHost>

 <VirtualHost *:80>
   DocumentRoot /usr/share/roundcube/
    ServerName webmail.lucas.myurl.be
    Redirect / https://webmail.lucas.myurl.be/
</VirtualHost>

 <VirtualHost *:443>
    DocumentRoot /var/www
    ServerName secure.lucas.myurl.be
    SSLEngine on
    SSLCertificateFile My2ndCert
    SSLCertificateKeyFile My2ndKey
    </VirtualHost>


 <VirtualHost *:80>
    DocumentRoot /var/www
    ServerName secure.lucas.myurl.be
    Redirect / https://secure.lucas.myurl.be/
</VirtualHost>

O problema é que recebo um aviso de substituição padrão quando reinicio o Apache2, mas não entendo de onde ele vem.

 [warn] _default_ VirtualHost overlap on port 443, the first has precedence
httpd not running, trying to start

Então, quando eu vou para secure.lucas.myurl.be, ele vai para link , em vez de ir para link

Então, o que eu preciso adicionar à minha configuração para redirecioná-la para a página SSL adequada, em vez de redirecionar tudo para o primeiro redirecionamento 443?

    
por Lucas Kauffman 05.10.2011 / 12:48

2 respostas

1

Problema bastante normal. Você só pode ter um certificado SSL por IP. Você tem 2 blocos SSL em todas as interfaces, então o apache só receberá o primeiro.

Também é possível que você ainda tenha seu vhost SSL padrão ativado 2.

Verifique quais vhosts estão habilitados usando este comando:

 apache2ctl -S

Isso lhe dará uma lista.

Você pode ter vários blocos SSL em 1 ip, mas ele precisa usar o mesmo certificado para todos os blocos.

    
por 05.10.2011 / 12:58
2

Parece que o SNI não está ativado. Isso explicaria por que todos eles vão para a mesma página. Se você estiver executando o Debian Lenny ou o Debian Squeeze, acredito que funcionará.

Confira esta página Ele descreve como habilitar o SNI em seus hosts. Observe que isso é usado com hosts virtuais NameBased. Da sua configuração, parece que você está usando hosts virtuais nomeados.

    
por 05.10.2011 / 14:48