Nginx 从服务器名称捕获正则表达式

Nginx 从服务器名称捕获正则表达式
server {
   listen (my server ip):80;
   server_name  ^(.[^\.]+)(\.)(\d+)\.vm\.example\.net$;

    location / {
        return 200 '$2';
        add_header Content-Type text/plain;
    }
}

我想要做的是捕获以下任何域名

example1.1234.vm.example.net example1.1234.vm.example.net example2.4321.vm.example.net example2.4321.vm.example.net

并且我希望能够使用它在返回时得到的数字,现在它甚至不匹配服务器名称并且不显示任何内容。

答案1

我还没有检查正则表达式的有效性,但乍一看你缺少将~server_name 标记为正则表达式的。

server_name  ~^(.[^\.]+)(\.)(\d+)\.vm\.example\.net$;

文档在这里

相关内容