CloudFlare SSL redireciona loops

1

Instalamos em um servidor um site normal ( http://example.com ) e web-mail ( https://example.com/mail ), Debian, Joomla, NGINX, iRedMail.

Para proteção contra DDoS, usamos o CloudFlare na variante livre.

Portanto, o problema é: quando o CF está desativado, tudo está OK - o site e o webmail estão acessíveis. Mas ao ativar a proteção CF, o site está OK, mas o web-mail diz "muitos redirecionamentos" no SSL.

Tentamos configurar conforme descrito aqui - nada muda.

Parece alguma configuração incorreta nas regras de redirecionamento nas regras do CF, ou ngnix - não é possível entender. Mas onde?

/etc/nginx/sites-enabled/example.com (site da web):

server {
    listen 80;
    server_name example.com;
    server_name_in_redirect off;

    root /var/www/example.com;
    index index.php index.html index.htm default.html default.htm;

    location / {
        try_files $uri $uri/ /index.php?$args;.
   }

    location ~* /(images|cache|media|logs|tmp)/.*\.(php|pl|py|jsp|asp|sh|cgi)$ {
        return 403;
        error_page 403 /403_error.html;
    }

    location ~* \.(ico|pdf|flv)$ {
        expires 1y;
    }

    location ~* \.(js|css|png|jpg|jpeg|gif|swf|xml|txt)$ {
        expires 14d;
    }

    include /etc/nginx/templates/php-catchall.tmpl;
    include /etc/nginx/templates/redirect_to_https.tmpl;
    include /etc/nginx/templates/misc.tmpl;
}

/etc/nginx/sites-enabled/example.com_443 (web-mail):

server {
    listen 443;
    server_name mail.example.com;
    ssl on;
    ssl_certificate /etc/ssl/certs/iRedMail.crt;
    ssl_certificate_key /etc/ssl/private/iRedMail.key;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-R
    ssl_prefer_server_ciphers on;
    ssl_dhparam /etc/ssl/dh2048_param.pem;

    index index.php index.html;

location / {
    root /opt/www/roundcubemail;
}

 # Web applications.
include /etc/nginx/templates/roundcube.tmpl;
include /etc/nginx/templates/iredadmin.tmpl;
include /etc/nginx/templates/php-catchall.tmpl;
include /etc/nginx/templates/misc.tmpl;

}

Regras do CF:

https://example.com/mail SSL:Flexible - Full

Ao ativar a proteção CF de example.com (registro A do DNS), mail.example.com cai em um loop de redirecionamento.

    
por Someone 14.10.2016 / 11:57

2 respostas

0

O problema estava nos registros de DNS no serviço cloudflare. Foi algo como:

...
example.com. 300 IN A 1.2.3.4
www          300 IN A 1.2.3.4
mail         300 IN A 1.2.3.4
...

Alterou os registros A para CNAME assim:

...
example.com.      300 IN A 1.2.3.4
www.example.com.  300 IN CNAME example.com.
mail.example.com. 300 IN CNAME example.com.
...

fez a coisa.

    
por 17.10.2016 / 11:50
0

Você é capaz de direcionar tudo no DNS do CF para um endereço IP sem um problema, você só precisa desativá-lo passando pelo cache - como o CF não aceita nenhum outro protocolo além de HTTP e HTTPS. então você é capaz de enviar PR de volta para os registros A e desabilitar a pequena nuvem laranja ao lado da entrada.

Espero que isso ajude.

Here is an example of how DNS can be setup. Point everything you want going through CF caches with the orange cloud enabled, and everything you don't without it enabled. This allows A records to bypass it completely as explained above. I have shown it with aliases for the sake of administrative ease, but if you do a DNS lookup you get the exact same thing. Cloudflare DNS Settings

    
por 18.04.2017 / 22:41