将斜杠后的 URL 传递给 proxy_pass

将斜杠后的 URL 传递给 proxy_pass

如何将尾部斜杠后面的所有内容重定向到内部服务器?我希望这说得通。例如:www.foo.com/v2/api应该转到localhost:3000/apiwww.foo.com/v2/something转到localhost:3000/something。我有这个:

location ~ ^/v2/(.*) {
   #rewrite ^/(.*)$ $1 break;
   proxy_pass http://localhost:3000/$1;
}
foo.com/v2/<ANYTHING-HERE-SHOULD-MOVE-BEHIND-PORT-3000>

*往上看

根据网络,这应该可行,对吧?但事实并非如此。有人在不经意间向我抛出了一个 nginx 任务,但从这个角度来看,它应该可以工作吗?

答案1

您可能需要定义一个resolver因为你正在使用proxy_pass带有变量。

但是,您正在寻找的功能可以更简单地使用前缀位置而不是正则表达式来实现:

location /v2/ {
    proxy_pass http://localhost:3000/;
}

相关内容