Как мне найти причину петли перенаправления http на https?

Недавно я установил owncloud на новом компьютере (Apache / 2.4.10 Debian). Это было до того, как я получил ssl-сертификат через Let's Encrypt. Я пытался заставить http на https, но всегда получаю петли перенаправления. Я погуглил и попытался добавить:

Redirect permanent / https://www.example.com

Это не устранило проблему.

Моя текущая конфигурация выглядит так:

<VirtualHost *:80>
        ServerAdmin webmaster@localhost
        ServerName www.example.com

        RewriteEngine On
        RewriteCond %{HTTPS} off
        RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

<VirtualHost *:443>
        ServerName www.example.com
        DocumentRoot /var/www/owncloud

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Это тоже дает мне цикл перенаправления.

Кроме того, если Я сохраняю только виртуальный хост *: 80 и удаляю часть перезаписи, Я могу без проблем получить доступ к http и https .

Запрошенная секция дополнительной информации

apachectl -S output:

VirtualHost configuration:
*:80                   www.example.com (/etc/apache2/sites-enabled/ssl-owncloud.conf:1)
*:443                  www.example.com (/etc/apache2/sites-enabled/ssl-owncloud.conf:14)
ServerRoot: "/etc/apache2"
Main DocumentRoot: "/var/www/html"
Main ErrorLog: "/var/log/apache2/error.log"
Mutex rewrite-map: using_defaults
Mutex default: dir="/var/lock/apache2" mechanism=fcntl
Mutex mpm-accept: using_defaults
Mutex watchdog-callback: using_defaults
PidFile: "/var/run/apache2/apache2.pid"
Define: DUMP_VHOSTS
Define: DUMP_RUN_CFG
User: name="www-data" id=33
Group: name="www-data" id=33
1
задан 1 December 2015 в 17:41
2 ответа

Указанные конфигурации в порядке. Возможно ли, что скрываются определения других виртуальных хостов?

Вы хотите убедиться с помощью:

sudo apache2ctl -t -DDUMP_VHOSTS

тогда? Нормальный вывод:

VirtualHost configuration:
*:80                   www.example.org (/etc/apache2/sites-enabled/000-default.conf:1)
*:443                  www.example.org (/etc/apache2/sites-enabled/default-ssl.conf:4)

(где: 1 и: 4 - номер строки, в которой определен vhost).

0
ответ дан 4 December 2019 в 06:49

Проверьте конфигурацию вашего owncloud ( /var/www/owncloud/config/config.php ) и найдите 'forcessl' = > true, , и поместите его в false . Это опция owncloud для перенаправления трафика http на https без какого-либо кода перезаписи apache.

Надеюсь, это вам поможет.

0
ответ дан 4 December 2019 в 06:49

Теги

Похожие вопросы