Nginx - 从子域中提取数字并用作 proxy_pass

Nginx - 从子域中提取数字并用作 proxy_pass

我需要使用 nginx 解析 v111.site.com,将 111 和 proxy_pass 提取到 10.0.10.111。

我尝试了以下设置,但日志中的 $zip 似乎为空。

server {
    server_name "~^v(?P<zip>9\d{3})\.site\.com$";
    location / { proxy_pass http://10.0.10.$zip:8009; }
}

答案1

您的正则表达式不匹配v111.site.com,因为正则表达式中第一个匹配的数字是9

也许你打算使用

server_name "~^v(?P<zip>\d{3})\.site\.com$";

相关内容