如何使用<product><component><key>正则表达式为 POST /some_endpoint/// 正确指定 Nginx 反向代理配置



如何为Nginx正确编写配置,以便将传入的POST/some_endpoint/product/component/key映射到适当的节点?产品、组件、密钥因请求而异。

我尝试过一些变体,不乏。

location /some_endpoint/([0-9A-Za-z]+)$/([0-9A-Za-z]+)$/([0-9A-Za-z]+)$ {
proxy_pass  http://first-node:8080/some_endpoint/$1/$2/$3;
}
location /some_endpoint/(~*)$/(~*)$/(~*)$ {
proxy_pass  http://first-node:8080/some_endpoint/$1/$2/$3;
}

我使用以下配置实现了所需的行为:

location ~/rest-endpoint1/(.*)$ {
proxy_pass  http://first-node:8080/rest-endpoint1/$1$is_args$args;
}
location ~/rest-endpoint2/(.*)$ {
proxy_pass  http://first-node:8080/rest-endpoint2/$1$is_args$args;
}
location ~/rest-endpoint3/(.*)$ {
proxy_pass  http://second-node:8081/rest-endpoint3/$1$is_args$args;
}
location ~/rest-endpoint4/(.*)$ {
proxy_pass  http://second-node:8081/rest-endpoint4/$1$is_args$args;
}

最新更新