Nginx反向代理返回404错误。

5
我的Nginx已安装并运行,以下是来自/etc/nginx/nginx.conf的配置文件,我想将所有/api/*转发到我的Tomcat服务器,该服务器在同一台服务器上的端口9100上运行(类型为http://myhost:9100/api/apps可用),否则,请提供'/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 / {
    }
}
1个回答

15

proxy_pass语句可以在将URI传递到上游之前可选地修改它。有关详细信息,请参见此文档

以这种形式出现:

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

将URI /api/foo 传递给 http://myserver/foo

通过从proxy_pass语句中删除末尾的/

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

现在将URI /api/foo 传递到 http://myserver/api/foo


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接