nginx 中的代理 - 转发位置

Proxy in nginx - forwarding location

假设我有一个 REST API 在服务器 example.com 上侦听本地主机,并且我有以下代理在 proxy.conf 文件中工作:

location / {
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr; 
    proxy_pass http://127.0.0.1:8080/;
}

这意味着我可以访问我的 API,例如例如。com/users。但是这个设置引起了一些冲突,所以我需要它的位置如下:

location /api/ {
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr; 
    proxy_pass http://127.0.0.1:8080/;
}

我可以使用示例正确访问 API 的根目录。com/api。但是,它 returns 的链接在上下文示例中。com/users 等,而不是示例。com/api/用户,因为我需要。

基本上我是在问,如何将请求转发到我的 API 示例。com/api/ 而不仅仅是 example.com?

已解决!如果有人遇到这个问题,我的解决方案如下:

location /api/ {
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr; 
    proxy_pass http://127.0.0.1:8080; # note the removed trailing /
}

感谢 Ivan 提供帮助!