meu site https://stage.issufy.com/ , depois de configurar o ssl, recebo o loop de redirecionamento 302. Aqui está o arquivo htaccess
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
</IfModule>
Aqui está a configuração do Apache para http:
<VirtualHost *:80>
ServerName stage.issufy.com
Redirect / https://stage.issufy.com
DocumentRoot /var/www/html/stage.issufy.com
<Directory "/var/www/html/stage.issufy.com">
Options FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
RewriteEngine on
RewriteCond %{SERVER_NAME} =stage.issufy.com
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,QSA,R=permanent]
</VirtualHost>
e aqui está a configuração ssl:
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerName stage.issufy.com
DocumentRoot /var/www/html/stage.issufy.com
<Directory "/var/www/html/stage.issufy.com">
Options FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
SSLCertificateFile /etc/letsencrypt/live/stage.issufy.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/stage.issufy.com/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
</VirtualHost>
</IfModule>
O site funciona bem sem o cloudfare, mas assim que o cloudflare é ativado, ele apresenta erros de redirecionamento 302.
aqui está o log de erros
172.68.51.31 - - [17/Jan/2017:18:24:18 +0000] "GET / HTTP/1.1" 302 539 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Dragon/52.15.25.665 Chrome/52.0.2743.82 Safari/537.36"
172.68.51.31 - - [17/Jan/2017:18:24:18 +0000] "GET / HTTP/1.1" 302 538 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Dragon/52.15.25.665 Chrome/52.0.2743.82 Safari/537.36"
172.68.51.31 - - [17/Jan/2017:18:24:18 +0000] "GET / HTTP/1.1" 302 538 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Dragon/52.15.25.665 Chrome/52.0.2743.82 Safari/537.36"
172.68.51.31 - - [17/Jan/2017:18:24:19 +0000] "GET / HTTP/1.1" 302 538 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Dragon/52.15.25.665 Chrome/52.0.2743.82 Safari/537.36"
172.68.51.31 - - [17/Jan/2017:18:24:19 +0000] "GET / HTTP/1.1" 302 539 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Dragon/52.15.25.665 Chrome/52.0.2743.82 Safari/537.36"
172.68.51.31 - - [17/Jan/2017:18:24:19 +0000] "GET / HTTP/1.1" 302 538 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Dragon/52.15.25.665 Chrome/52.0.2743.82 Safari/537.36"
172.68.51.31 - - [17/Jan/2017:18:24:20 +0000] "GET / HTTP/1.1" 302 539 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Dragon/52.15.25.665 Chrome/52.0.2743.82 Safari/537.36"
172.68.51.31 - - [17/Jan/2017:18:24:20 +0000] "GET / HTTP/1.1" 302 539 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Dragon/52.15.25.665 Chrome/52.0.2743.82 Safari/537.36"
Se você estiver usando a oferta SSL flexível da Cloudflare, seu servidor da Web de origem verá o tráfego não criptografado na porta 80.
Para resolver isso, você tem algumas opções:
X-Forwarded-Proto
(o que revela como o usuário está se conectando ao Cloudflare).Parece que o nginx do Cloudflare está confuso por causa de alguma regra de redirecionamento:
Você já tentou desabilitar seu arquivo .htaccess completamente e depois adicionar novamente regra por regra para eliminar o problema?
Este parece ser o único redirecionamento 302 (temporário) em sua configuração.
Como o CloudFlare SSL é implementado? Se você estiver usando CloudFlare como um proxy de front-end que lida com SSL (a única opção na versão gratuita AFAIK), seu site ainda serve conteúdo em HTTP (porta 80) para CloudFlare e a conexão é criptografada apenas de CloudFlare para o cliente. Nesse caso, o redirecionamento acima resultaria em um loop de redirecionamento 302. (Isso normalmente deve ser implementado como um 301. ie.
Redirect 301 ...
)Se for esse o caso, existem alguns cabeçalhos de solicitação HTTP adicionais que você pode verificar para ver se o cliente está acessando seu site (ou melhor, CloudFlare) por HTTPS ou não.
Aliás, isso está tentando fazer a mesma coisa que sua única
Redirect
diretiva acima (embora permanentemente ). Use um ou outro, não ambos.De preferência, você usaria uma única
Redirect 301
diretiva (mod_alias). No entanto, se você precisar verificar os cabeçalhos de solicitação HTTP do proxy para determinar o HTTPS, precisará do mod_rewrite.