43
Nginx自动跳转到HTTPS

方法一:

        rewrite ^(.*)$ https://$host$1 permanent;

方法二:

适用于 80端口和443 配置在同一个 server{}内

        if ($server_port = 80) {
            rewrite ^(.*)$ https://$host$1 permanent;
        }

其他情况, 站点绑定很多域名,只让某个域名跳转:

        set $redirect_https 1;
        if ($server_port = 80) {
            set $redirect_https "${redirect_https}2";
        }
        if ($http_host = 'www.niaoyundemo.com') {
            set $redirect_https "${redirect_https}3";
        }
        if ($http_host = 'niaoyundemo.com') {
            set $redirect_https "${redirect_https}3";
        }
        if ($redirect_https = "123") {
            rewrite ^(.*)$ https://$host$1 permanent;
        }

配置示例:

        server {
            listen       80;
            server_name  www.niaoyundemo.cn;
            rewrite ^ https://$http_host$request_uri? permanent;
        }
        server {
            listen      443;
            ssl on;
            ssl_certificate /etc/ssl/cacert.pem;
            ssl_certificate_key /etc/ssl/privkey.pem;
            server_name www.niaoyundemo.cn;  
            server_tokens off;
            location / {
                fastcgi_param   HTTPS               on;
                fastcgi_param   HTTP_SCHEME         https;
            }
        }


这条帮助是否解决了您的问题? 已解决 未解决

提交成功!非常感谢您的反馈,我们会继续努力做到更好! 很抱歉未能解决您的疑问。我们已收到您的反馈意见,同时会及时作出反馈处理!