Nginx - 仅代理传递子路径

Nginx - proxy pass subpaths only

我想将我网站的子路径代理到另一个服务:

http://some-web-site.com/friends/ - 呈现 /friends/index.html

http://some-web-site.com/friends/ [非空请求路径] - 代理到另一个服务。

目前我有以下 Nginx 配置:

location /programming/ {
   (...)
   proxy_pass http://tomcat:8080/friends;
}

但不幸的是,这会将 /programming/ 代理到 http://tomcat:8080/friends

使用完全匹配 location 块提取特定 URI 以进行特殊处理:

location = /programming/ {
    ...
}
location /programming/ {
    ...
    proxy_pass http://tomcat:8080/friends;
}

详情见this document