Magento nginx ssl重定向循环错误

时间:2014-04-07 11:02:46

标签: php redirect ssl nginx magento-1.7

我在nginx服务器上安装了magento 1.7。每当我从magento admin为前端启用SSL时,该页面都会出错:

错误:此网页有重定向循环

我尝试了以下解决方案,但没有成功:

网址:https://www.sonassi.com/knowledge-base/magento-kb/magento-https-redirect-loop/

我的Magento设置有什么问题:

  1. 关闭验证会话设置。
  2. 已安装SSL cretificate
  3. 已定义安全且无安全的网址。
  4. 我的nginx.conf是

    user              nginx;
    worker_processes  1;
    
    error_log  /var/log/nginx/error.log;
    #error_log  /var/log/nginx/error.log  notice;
    #error_log  /var/log/nginx/error.log  info;
    
    pid        /var/run/nginx.pid;
    
    events {
    worker_connections  1024; }
    
    
     http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;
    
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';
    
    access_log  /var/log/nginx/access.log  main;
    
    sendfile        on;
    #tcp_nopush     on;
    
    #keepalive_timeout  0;
    keepalive_timeout  65;
    
    #gzip  on;
    
    #
    # The default server
    #
    server {
        listen       80;
        server_name  _;
    
        #charset koi8-r;
    
        #access_log  logs/host.access.log  main;
    
        location / {
            root   /usr/share/nginx/html;
            index  index.html index.htm;
        }
    
        error_page  404              /404.html;
        location = /404.html {
            root   /usr/share/nginx/html;
        }
    
        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   /usr/share/nginx/html;
        }
    
        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #
        #location ~ \.php$ {
        #    proxy_pass   http://127.0.0.1;
        #}
    
        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        #location ~ \.php$ {
        #    root           html;
        #    fastcgi_pass   127.0.0.1:9000;
        #    fastcgi_index  index.php;
        #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
        #    include        fastcgi_params;
        #}
    
        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        #location ~ /\.ht {
        #    deny  all;
        #}
    }
    
    # Load config files from the /etc/nginx/conf.d directory
    include /etc/nginx/conf.d/*.conf;
    

    }

1 个答案:

答案 0 :(得分:0)

我们与Magento有类似的问题。通常通过清除您的网站cookie来解决。所以我发现这个片段清除了域的所有网站cookie。我将它放在主要商店index.php页面的顶部。它必须是第一件事,因此它不会干扰常规商店SSL和购物功能。 (例如www.mysite.com/store/index.php)

    if (isset($_SERVER['HTTP_COOKIE'])) {
     $cookies = explode(';', $_SERVER['HTTP_COOKIE']);
       foreach($cookies as $cookie) {
         $parts = explode('=', $cookie);
         $name = trim($parts[0]);
        setcookie($name, '', time()-1000);
        setcookie($name, '', time()-1000, '/');
      }
    }