Nginx反向代理返回404

Nginx反向代理返回404,nginx,Nginx,我的Nginx已安装并正在运行,下面是/etc/Nginx/Nginx.conf中的配置,我想将所有/api/*转发到我的tomcat服务器,该服务器在端口9100的同一台服务器上运行(键入http://myhost:9100/api/appsworks),否则,在“/usr/share/nginx/html”下提供静态文件。现在我输入http://myhost/api/apps给出一个404。这里有什么问题 upstream myserver { server localhost

我的Nginx已安装并正在运行,下面是
/etc/Nginx/Nginx.conf
中的配置,我想将所有
/api/*
转发到我的tomcat服务器,该服务器在端口9100的同一台服务器上运行(键入
http://myhost:9100/api/apps
works),否则,在“/usr/share/nginx/html”下提供静态文件。现在我输入
http://myhost/api/apps
给出一个404。这里有什么问题

upstream  myserver {
    server   localhost:9100 weight=1;
}

server {
    listen       80 default_server;
    listen       [::]:80 default_server;
    server_name  _;
    root         /usr/share/nginx/html;

    # Load configuration files for the default server block.
    include /etc/nginx/default.d/*.conf;



    location ^~ /api/ {
       proxy_pass http://myserver/;
    }

    location / {
    }
}

proxy\u pass
语句可以选择在向上游传递URI之前修改URI。有关详细信息,请参阅

以这种形式:

location ^~ /api/ {
    proxy_pass http://myserver/;
}
URI
/api/foo
被传递到
http://myserver/foo

通过从
proxy\u pass
语句中删除尾随的
/

location ^~ /api/ {
    proxy_pass http://myserver;
}
URI
/api/foo
现在被传递到
http://myserver/api/foo