简体   繁体   English

当我尝试将 http 重定向到 https 时,NGINX 无限循环

[英]NGINX infinite loop when I try to redirect http to https

I'm moving my entire website from http to https Since I have a few domains, I need to redirect then to the https version of my website.我正在将我的整个网站从 http 移动到 https 因为我有几个域,所以我需要重定向到我网站的 https 版本。

The problem is that when I try to redirect the original domain from http to https, the nginx gives me a infinite loop.问题是当我尝试将原始域从 http 重定向到 https 时,nginx 给了我一个无限循环。

Can you guys help me?你们能帮帮我吗?

Here it is my config这是我的配置

server {
    listen       80;
    server_name  www.domain.com.br domain.com.br w.domain.com.br  ww.domain.com.br wwww.domain.com.br domain1.com.br www.domain1.com.br domain.com www.domain.com domain.net.br www.domain.net.br;
    return 301 https://www.domain.com.br$request_uri;
}

server {
    listen       443;
    server_name  domain.com.br w.domain.com.br  ww.domain.com.br wwww.domain.com.br domain1.com.br www.domain1.com.br domain.com www.domain.com domain.net.br www.domain.net.br;
    ssl                  on;
    ssl_certificate      /home/ssl/ssl-bundle.crt;
    ssl_certificate_key  /home/ssl/myserver.key;
    return 301 https://www.domain.com.br$request_uri;
}

server {
    listen       443;
    ssl                  on;
    ssl_certificate      /home/ssl/ssl-bundle.crt;
    ssl_certificate_key  /home/ssl/myserver.key;
    #ssl_session_timeout  5m;
    #ssl_protocols  SSLv2 SSLv3 TLSv1;
    server_name  www.domain.com.br;
    root   /usr/share/nginx/html2;


    location / {   
        index  index.php;
        if ($request_filename !~* \.(php|gif|html|jpe?g|png|ico|js|css|flv|swf|pdf|xml)$ ) { rewrite ^ /index.php; }
    }

    location ~ \.php$ {        
        fastcgi_pass   unix:/var/run/php-fpm/php-fpm.socket;
        fastcgi_index  index.php;
        # fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }
}

The second server entry is creating the infinite loop.第二个服务器条目正在创建无限循环。 It includes a return 301 to the same site on the https(443) port它包括返回 301 到 https(443) 端口上的同一站点

Try this answer for sub domain redirects: https://serverfault.com/questions/67316/in-nginx-how-can-i-rewrite-all-http-requests-to-https-while-maintaining-sub-dom试试这个子域重定向的答案: https : //serverfault.com/questions/67316/in-nginx-how-can-i-rewrite-all-http-requests-to-https-while-maintaining-sub-dom

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM