Nginx configuration leads to endless redirect loop

前端 未结 9 1370
独厮守ぢ
独厮守ぢ 2020-12-01 04:18

So I\'ve looked at every sample configuration I could find and yet every time I try and view a page that requires ssl, I end up in an redirect loop. I\'m running nginx/0.8.5

相关标签:
9条回答
  • 2020-12-01 04:56

    I've toyed around with a bunch of these answers but nothing worked for me. Then I realized since I use Cloudflare the problem may not be in the server but with Cloudflare. Lo and behold when I set my SSL to Full (Strict) everything works as it should!

    0 讨论(0)
  • 2020-12-01 04:57

    Since you have a rewrite statement found in both ssl and non-ssl sections

    location /blog {
      rewrite ^/blog(/.*)?$ http://blog.<redacted>.com/$1 permanent;
    }
    

    Where is the server section for blog..com?? Could that be the source of the issue?

    0 讨论(0)
  • 2020-12-01 05:03

    It's your line here:

      listen 443 default ssl;
    

    change it to:

    listen 443;
    ssl on;
    

    This I'll call the old style. Also, that along with

                  proxy_set_header X_FORWARDED_PROTO https;
                  proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
                  proxy_set_header  Host $http_host;
                  proxy_set_header  X-Url-Scheme $scheme;
                  proxy_redirect    off;
                  proxy_max_temp_file_size 0;
    

    did the trick for me. I see now i am missing the real IP line you have, but so far, this got rid of my infinite loop problem with ssl_requirement and ssl_enforcer.

    0 讨论(0)
  • 2020-12-01 05:06

    For those who are searching desperatly why their owncloud keep making a redirect loop in spite of having a good configuration file, i've found why it's not working.

    My config: nginx + php-fpm + mysql on a fresh centos 6.5

    when installing php-fpm and nginx, default permission on /var/lib/php/session/ is root:apache

    php-fpm through nginx store php session here, if nginx did not have authorization to write it fail miserably to keep any login session, resulting in an infinite loop.

    So juste add nginx in apache group (usermod -a -G apache nginx) or change ownership of this folder.

    Have a nice day.

    0 讨论(0)
  • 2020-12-01 05:07

    I had a similar issue for my symfony2 application, albeit form a different cause: I had set fastcgi_param HTTPS off; when I of course needed fastcgi_param HTTPS on; in my nginx configuration.

        location ~ ^/(app|app_dev|config)\.php(/|$) {
                satisfy any;
                allow all;
                fastcgi_pass unix:/var/run/php5-fpm.sock;
                fastcgi_split_path_info ^(.+\.php)(/.*)$;
                include fastcgi_params;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                fastcgi_param HTTPS on;
        }
    
    0 讨论(0)
  • 2020-12-01 05:15

    In case someone else stumbles on this, I was attempting to configure both http and https via the same server {} block, but only added the "listen 443" directive believing that the "this line is default and implied" meant that it would also listen on 80 as well, it didn't. Uncommenting the "listen 80" line so that both listen lines were present corrected the infinite loop. No idea why it would have even been getting a redirect at all, but it did.

    0 讨论(0)
提交回复
热议问题