
upstream foo { server 127.0.0.1:8081; } upstream foo_back { server 127.0.0.1:8080; } upstream bar { server 127.0.0.2:8081; } upstream bar_back { server 127.0.0.2:8080; } localtion / { proxy_pass http://foo; } localtion /back { proxy_pass http://foo_back; } 要切换到 bar 就要修改 proxy_pass 里面的,如果实际情况是很多 upstream,很多 localtion,有什么插件或是 lua 之类的可以实现快捷切换吗?
1 Jirajine 2020-07-19 12:32:45 +08:00 via Android 你可能需要 treafik https://containo.us/traefik/ |
2 halfcrazy 2020-07-19 15:57:06 +08:00 lua 变量替代 proxy_pass 里写死的 upstream set $backend "default"; rewrite_by_lua_block { ngx.var.backend="foo" } proxy_pass http://backend; |
3 des 2020-07-19 16:35:07 +08:00 |
4 monkeyNik 2020-07-21 11:07:58 +08:00 可以参考:Github 的 yzprofile/ngx_http_dyups_module,可以动态增加、删除、更新 upstream 或者也可以考虑是用 nginx.zone 这个网站上面的 Nginx 发行版,提供了不仅仅是动态 upstream 更新,也提供了动态 location 更新,无需 reload 。也提供了各种其他功能,基本全部指令对动态 location 支持。 |