Configuração SSL adequada para SSL - o Apache2 ignora o DocumentRoot

1

Então, aqui está minha configuração atual:

<VirtualHost *:443>
    DocumentRoot "/var/www/keypad"
    ServerName keypad.io
    SSLOptions +StrictRequire
    <Directory />
            SSLRequireSSL
    </Directory>
    SSLProtocol -all +TLSv1
    SSLEngine on
    SSLCertificateFile /cert/cert.crt
    SSLCertificateKeyFile /cert/key.key
    SSLCACertificateFile /cert/inter.crt
</VirtualHost>
<VirtualHost *:80>
    ServerName keypad.io
    ServerAlias www.keypad.io
    DocumentRoot /var/www/keypad
    Redirect permanent / https://keypad.io/
</VirtualHost>

O que resulta em poder acessar o site tanto em http: // como em https: //

Acabo com um loop de redirecionamento infinito por algum motivo, com https: // na barra de endereço.

Se eu remover completamente o host *: 80, http: // fecha o trabalho e https: // ignora a propriedade DocumentRoot e me fornece a página de boas-vindas do apache. Não importa o que eu faça no bloco host *: 443, recebo uma conexão criptografada na página de boas-vindas.

Eu quero ambos http: // e https: // para direcionar o cliente para uma versão criptografada SSL do meu site. Meu apache2.conf é o padrão. Eu não fiz nada para isso.

Saída de apache -version

Server version: Apache/2.4.7 (Ubuntu)
Server built:   Jul 22 2014 14:36:38

Alguma opinião?

EDIT: Eu adicionei o extra '/' (e removi o SSLv3 como sugerido) e ainda tenho um loop de redirecionamento infinito. Qualquer ajuda é definitivamente apreciada.

    
por suBDavis 15.10.2014 / 17:22

1 resposta

0

Há uma barra faltando na sua diretiva Redirect :

<VirtualHost *:443>
    DocumentRoot "/var/www/keypad"
    ServerName keypad.io
    SSLOptions +StrictRequire
    <Directory />
            SSLRequireSSL
    </Directory>
    SSLProtocol -all +TLSv1 +SSLv3
    SSLEngine on
    SSLCertificateFile /cert/cert.crt
    SSLCertificateKeyFile /cert/key.key
    SSLCACertificateFile /cert/inter.crt
</VirtualHost>
<VirtualHost *:80>
    ServerName keypad.io
    ServerAlias www.keypad.io
    DocumentRoot /var/www/keypad
    Redirect permanent / https://keypad.io/
</VirtualHost>

Sem a solicitação de barra:

 curl -v http://keypad.io/bla

O redirecionará para o local https://keypad.iobla .

    
por 15.10.2014 / 20:03