Moodle 3.7 Apache com resultados de proxy reverso ERR_TOO_MANY_REDIRECTS.
Eu tenho um site SSL com o seguinte arquivo vhosts:
<VirtualHost *:80>
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
</VirtualHost>
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerName moodle.site.com:443
SSLEngine on
SecAuditEngine On
RewriteEngine On
ProxyPreserveHost On
ProxyPass / http://101.102.103.104:80/
ProxyPassReverse / http://101.102.103.104:80/
</VirtualHost>
</IfModule>
Eu também redireciono todas as solicitações de 80 portas para a porta SSL.
O comando
curl -I https://moodle.site.com/
resultados:
HTTP/1.1 303 See Other
Date: Fri, 09 Aug 2019 19:13:33 GMT
Server: Apache/2.4.38 (Debian)
Strict-Transport-Security: max-age=15768000; includeSubDomains
Location: https://moodle.site.com
Content-Language: en
Content-Type: text/html; charset=UTF-8
No Moodle config.php eu tenho:
$CFG->wwwroot = 'https://moodle.site.com';
$CFG->reverseproxy = true;
$CFG->sslproxy = 1;
Alguma idéia de por que recebo o erro "ERR_TOO_MANY_REDIRECTS" no Google Chrome, quando tento abrir o URL https://moodle.site.com ?
Eu tive 4 problemas, então tive que corrigi-los (comandos de linha de comando devem ser executados como root ou usar sudo):
1) mod_ssl módulo Apache não foi ativado. Teste na linha de comando, se mod_ssl estiver ativo:
Deve exibir isso (se ativo):
FIX (habilite mod_ssl na linha de comando):
2) Eu uso a diretiva Header no arquivo Apache SSL conf, assim:
Por causa deste mod_headers o módulo Apache é necessário, ele não foi ativado. Teste na linha de comando, se mod_headers estiver ativo:
Deve exibir isso (se ativo):
FIX (habilite mod_headers na linha de comando):
3) Eu tive que usar https ProxyPass URL em vez de http no arquivo Apache vhost conf:
Errado:
BOA:
4) Tive que ativar a diretiva SSLProxyEngine para usar SSL no ProxyPass no arquivo conf Apache vhost.
CORREÇÃO: Adicionado SSLProxyEngine em /etc/apache2/sites-available/myvhost.conf