首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >nginx重写规则出现“重定向次数过多”错误

nginx重写规则出现“重定向次数过多”错误
EN

Stack Overflow用户
提问于 2015-03-16 21:43:58
回答 1查看 2.6K关注 0票数 0

这是nginx.conf。

有一个问题会继续重定向。

我得到了一个“太多重定向”的错误。

有什么问题吗?

我想将"/aaa/test.do“uri设置为http。

不是将"/aaa/test.do“uri设置为https。

请帮帮忙。谢谢。

代码语言:javascript
运行
复制
map $uri $example_org_preferred_proto {
    default https;
    ~^/aaa/test.do http;
}

.

代码语言:javascript
运行
复制
 server {
        listen       80;
        server_name  www.test.com;

        charset utf-8;

        if ($example_org_preferred_proto = "https") {
            return 301 https://$server_name$request_uri;
        }

        location / {
           proxy_set_header Host                $host;
           proxy_set_header X-Real-IP            $remote_addr;
           proxy_set_header X-Forwarded-Host    $host;
           proxy_set_header X-Forwarded-Server    $host;
           proxy_set_header X-Forwarded-For        $proxy_add_x_forwarded_for;
           proxy_set_header        Host $http_host;
           proxy_redirect off;
           proxy_buffering off;
           proxy_connect_timeout 60;
           proxy_read_timeout 60;
           proxy_pass   http://wwwtestcom;
        }
}


# HTTPS server
#
server {
    listen       443;
    server_name  www.test.com;

    charset utf-8;

    ssl                  on;
    ssl_certificate      D:/nginx-1.7.10/ssl/cert.pem;
    ssl_certificate_key  D:/nginx-1.7.10/ssl/key.pem;

    ssl_session_timeout  5m;

    ssl_protocols  SSLv3 TLSv1;
    ssl_ciphers  !ADH:RC4+RSA:+HIGH:!EXP:+eNULL:AES256-SHA;
    ssl_prefer_server_ciphers   on;

    if ($example_org_preferred_proto = "http") {
        return 301 http://$server_name$request_uri;
    }

    location / {
       proxy_set_header Host                $host;
       proxy_set_header X-Real-IP            $remote_addr;
       proxy_set_header X-Forwarded-Host    $host;
       proxy_set_header X-Forwarded-Server    $host;
       proxy_set_header X-Forwarded-For        $proxy_add_x_forwarded_for;
       proxy_set_header        Host $http_host;
       proxy_redirect off;
       proxy_buffering off;
       proxy_connect_timeout 60;
       proxy_read_timeout 60;
       proxy_pass   http://wwwtestcom;
       proxy_ssl_session_reuse off;
    }
EN

回答 1

Stack Overflow用户

发布于 2015-03-16 22:14:34

此处缺少引号("http“和"https"):

代码语言:javascript
运行
复制
map $uri $example_org_preferred_proto {
    default "https";
    ~^/aaa/test.do "http";
}

另外,我建议为HTTP和HTTPS服务器定义单独的访问日志和错误日志。检查这些日志文件中的消息将帮助您快速调试问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29078355

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档