Nginx 将 URI 拆分为变量以便在 proxy_pass 上使用

Nginx 将 URI 拆分为变量以便在 proxy_pass 上使用

我试图获取 URI 部分,然后将其传递给 proxy_pass url。但我不知道如何使用正则表达式来执行此操作。

我需要将第一个和最后一个 URI 放入变量中,以便将其传递给 proxy_pass,如下所示:

https://example.com/user/port

proxy_pass http://user.example.com:$port

答案1

您可以使用正则表达式。

Nginx 配置示例:

location ~ ^/(\w+)/(\d+)$ {
  set $user $1;
  set $port $2;
  proxy_pass http://${user}.example.com:$port;
}

相关内容