基于用户代理版本的 Nginx 重定向

Nginx redirect based on user agent version

我有一个自定义用户代理,如果客户端版本低于要求,我想进行重定向。

  location / {
    if ($http_user_agent ~ Foo) {
     return 301 https://somewhere.else
   }
  }

如何在这里添加版本检查?例如,条件可能低于版本 4。因此 Foo/3.3 应该重定向,但 Foo/4.0 不应该。

类似于:

Foo/([1-2]\.|3\.[0-3])

匹配:Foo/1.Foo/2.Foo/3.0Foo/3.1Foo/3.2Foo/3.3