首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
NGINX
NGINX Trac
3rd Party Modules
Security Advisories
CHANGES
OpenResty
ngx_lua
Tengine
在线学习资源
NGINX 开发从入门到精通
NGINX Modules
ngx_echo
V2EX  ›  NGINX

nignx 如何批量匹配路径

  •  
  •   icomelook · 44 天前 · 270 次点击
    这是一个创建于 44 天前的主题,其中的信息可能已经有所发展或是发生改变。

    location ~*/(1|2|3...109)$ { proxy_pass http://127.0.0.1; }

    location ~*/(110|111|112...235)$ { proxy_pass http://127.0.0.1; }

    location ~*/(236|237|238...2235)$ { proxy_pass http://127.0.0.1; }

    如何批量匹配路径 总不能几千个文件夹都列出来吧?

        1
    Lax   44 天前
    rewrite_by_lua

    或者没有 lua 模块时,从 location 取个变量出来,用 map。

    map $var $backend_group {
    1 127.0.0.1
    2 127.0.0.2
    ...
    default 127.0.0.3
    }

    location ~ /(?<var>.+)$ {
    proxy_pass http://$backend_group
    }
        2
    icomelook   44 天前
    @Lax 不知道 lua 和 map 哪个效率高?
        3
    Lax   44 天前   ♥ 1
    @icomelook 用 ab 测一下就知道了。

    map 也支持正则,可以 map $uri $backend_group {}, 这样的话 location 匹配里就可以不写正则啦。
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   796 人在线   最高记录 4385   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 16ms · UTC 22:35 · PVG 06:35 · LAX 15:35 · JFK 18:35
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1