三分之一的Nginx路由忽略上游服务器

三分之一的Nginx路由忽略上游服务器,nginx,url-rewriting,reverse-proxy,proxypass,Nginx,Url Rewriting,Reverse Proxy,Proxypass,我为nginx反向代理配置了三个位置: location / { root /var/www/html; index index.html; } location /login { proxy_pass http://127.0.0.1:9080; proxy_set_header Host $host;

我为nginx反向代理配置了三个位置:

    location / {
            root /var/www/html;
            index index.html;
    }


    location /login {
            proxy_pass http://127.0.0.1:9080;

            proxy_set_header        Host                    $host;
            proxy_set_header        X-Real-IP               $remote_addr;
    }


    location /app {
            rewrite ^/app/(.*)$ /$1 last;
            proxy_pass https://10.11.12.13/1020/;

            proxy_set_header        Host                    $host;
            proxy_set_header        X-Real-IP               $remote_addr;
    }
侦听端口9080的服务器重定向到路由
/app/{generated subpath}
。IP上的服务器
10.11.12.13
处理
{generated subpath}
上的请求。因此,我使用相应的重写规则删除前缀路径
/app
,然后将请求代理到该服务器的
/1020
端点

出于某种原因,nginx反向代理不使用
10.11.12.13
上游服务器,而是尝试在本地查找路径:

8888#8888: *470 open() "/var/www/html/html/createCustomer" failed (2: No such file or directory), client: x.x.x.x, server: 10.10.10.10, request: "GET /app/html/createCustomer?tokenId=0xC00FF3 HTTP/1.1", host: "10.10.10.10"

我相信你是在寻找突破,而不是上次。从
重写

最后

停止处理当前的ngx_http_rewrite_模块指令集,并开始搜索与更改的URI匹配的新位置

开始搜索与更改的URi匹配的新位置
是您删除
/app/
部分时发生的情况,该部分随后与
/
位置匹配

中断

停止处理当前集合


哦,是的,这真的很神奇。非常感谢。现在nginx使用该服务器,仍然有一个小错误:它不会使用写入proxy_-pass指令的/1020/端点……您能将此标记为这个问题的答案吗?然后我会打开另一个问题,更详细地解释你的另一个问题,因为它与你的其他问题一起消失了。好吧,