NGINX ERR_TOO_MANY_REDIRECTS depois de instalar o SSL

1

Parece que todo o site (Magento 2 shop) está funcionando bem, mas o backend não está. O back-end está localizado em: url.com/admin O resto da loja com url.com e todas as categorias url.com/cat1/subcat1  está funcionando bem.

No meu navegador (cromo) eu recebo um: ERR_TOO_MANY_REDIRECTS

Nada no log de erros do NGINX e 7 vezes um 302 no log de acesso: "GET /admin/admin/index/index/key/1d0cb4d5cebce23da3792027d3ec6f54/ HTTP/1.1" 302

admin e índice estão duas vezes lá - não tenho certeza se isso seria um indicador?

Esse é o meu nginx conf para esse vhost (principalmente o oficial + 80 a 443 forwarding + algum bloqueio para bots):

server {
    listen 80;
    server_name url.com www.url.com;

    location / {
        return 301 https://www.url.com$request_uri;  # enforce https
    }
}

server {
    set $MAGE_ROOT /var/www/html/url.com/www.url.com;

    listen 443 ssl;
    ssl on;
    ssl_certificate /home/secuuser/ssl_certificate/url.com.bundle.crt;
    ssl_certificate_key /home/secuuser/ssl_certificate/url.com.priv.key;

    server_name www.url.com;

    access_log /var/log/nginx/url.com_access.log;
    error_log /var/log/nginx/url.com_error.log;

    root $MAGE_ROOT/pub;

    index index.php;
    autoindex off;
    charset UTF-8;
    error_page 404 403 = /errors/404.php;
    #add_header "X-UA-Compatible" "IE=Edge";

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

    # PHP entry point for main application
    location ~ (index|get|static|report|404|503)\.php$ {
        try_files $uri =404;
        fastcgi_pass   unix:/run/php/php7.0-fpm.sock;
        fastcgi_buffers 1024 4k;

        fastcgi_param  PHP_FLAG  "session.auto_start=off \n suhosin.session.cryptua=off";
        fastcgi_param  PHP_VALUE "memory_limit=768M \n max_execution_time=18000";
        fastcgi_read_timeout 600s;
        fastcgi_connect_timeout 600s;

        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }

    gzip on;
    gzip_disable "msie6";

    gzip_comp_level 6;
    gzip_min_length 1100;
    gzip_buffers 16 8k;
    gzip_proxied any;
    gzip_types
        text/plain
        text/css
        text/js
        text/xml
        text/javascript
        application/javascript
        application/x-javascript
        application/json
        application/xml
        application/xml+rss
        image/svg+xml;
    gzip_vary on;
}

Eu já vi muitos problemas semelhantes aqui e online em geral e tentei alguns. Mas eu não consegui transferir o conhecimento adquirido para uma solução para o meu caso.

    
por Chris 28.03.2018 / 08:34

1 resposta

1

Esse erro geralmente significa que você tem um redirecionamento redondo em algum lugar da sua configuração - um redirecionamento para si mesmo, por exemplo, admin - > O admin produzirá loop infinito para que o seu navegador perceba isso e dê erro.

Eu começaria simplificando um pouco essa configuração do nginx. Por exemplo você tem

server {
    listen 80;
    server_name url.com;
    return       301 https://www.url.com$request_uri;
}

server {
    set $MAGE_ROOT /var/www/html/url.com/www.url.com;

    listen 80;
    #server_name url.hammer-loesungen.de; 
    server_name www.url.com;
    return       301 https://www.url.com$request_uri;
}

Pode ser definido como:

server {
    listen 80;
    server_name url.com www.url.com;
    return       301 https://www.url.com$request_uri;
}

Eu pessoalmente uso o seguinte:

server {
        listen 80;
        server_name url.com www.url.com;

   ## Redirect to HTTPs
      location / {
        return 301 https://$host$request_uri;  # enforce https
      }
}

Percorra a configuração e remova tudo o que você não precisa, mescle coisas duplicadas nas mesmas regras para simplificar. Se depois disso ainda houver um redirecionamento redondo, tente depurar com o curl:

curl -kvv http://url.com/admin
curl -kvv https://url.com/admin

E assim por diante, para todos os subdomínios.

    
por 28.03.2018 / 10:35