Назад | Перейти на главную страницу

Правильная конфигурация SSL для SSL - Apache2 игнорирует DocumentRoot

Итак, вот моя текущая конфигурация:

<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>

В результате можно получить доступ к сайту как по http: //, так и по https: //

По какой-то причине я получаю бесконечный цикл перенаправления с https: // в адресной строке.

Если я полностью удалю хост *: 80, http: // перестает работать, а https: // игнорирует DocumentRoot свойство и дает мне страницу приветствия apache. Независимо от того, что я делаю в блоке хоста *: 443, я получаю зашифрованное соединение со страницей приветствия.

Я хочу, чтобы ОБА http: // и https: // направляли клиента на зашифрованную SSL версию моего сайта. Мой apache2.conf по умолчанию. Я ничего с этим не сделал.

Выход apache -version

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

Есть предположения?

РЕДАКТИРОВАТЬ: я добавил дополнительный '/' (и удалил SSLv3, как было предложено), и у меня все еще есть бесконечный цикл перенаправления. Любая помощь определенно приветствуется.

В вашем 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>

Без запроса косой черты:

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

Перенаправит вас на https://keypad.iobla расположение.