
1 wyntau 2024 年 3 月 7 日 nginx upstream https://nginx.org/en/docs/http/ngx_http_upstream_module.html upstream backend { server backend1.example.com weight=5; server backend2.example.com:8080; server unix:/tmp/backend3; server backup1.example.com:8080 backup; server backup2.example.com:8080 backup; } server { location / { proxy_pass http://backend; } } |
2 hayhong123 OP @Jeremial 我想的是 同时转到多个地址上 不是轮询或者 ip_hash 之类的负载 请问大佬这个需要怎么改一下哈? |
3 Kinnice 2024 年 3 月 7 日 看起来得上 lua 脚本了 |
4 GBdG6clg2Jy17ua5 2024 年 3 月 7 日 我曾经也有这个需求。 单纯 nginx 没搞出,用 node 写了个转发。 关注一下纯 nginx 的方案。 |
5 deorth 2024 年 3 月 7 日 via Android 你打算把哪个响应返回给客户端? |
6 wu00 2024 年 3 月 7 日 这不是 proxy ,而是 mirror ,可以搜一下 nginx mirror 你这个需求放到业务层面去处理应该合理一点,比如 a,b 响应成功,c ,d 响应 500 咋整 |
7 cctv6 2024 年 3 月 7 日 用 lua 脚本应该能实现,脚本很简单,问下一下 ai 就可以了。 大致流程是,访问的时候,lua 一个 for 循环去请求那几个地址就可以了。还可以根据需要,处理一下接口的响应信息。 |
8 nanwangnongfu 2024 年 3 月 7 日 感觉可以考虑 MQ 的消息广播 |
9 yinmin 2024 年 3 月 7 日 via iPhone 逻辑有点问题,同时发送到多个地址,nginx 没法选返回的结果页面用哪个。需要自己写一个程序吧 |
10 cxsz 2024 年 3 月 7 日 nginx 可以调用 js ,用 js 写一个脚本吧 |
11 F7TsdQL45E0jmoiG 2024 年 3 月 7 日 local ngx = ngx function content_by_lua_block(r) local servers = { "http://b.com/api/message", "http://c.com/api/message", "http://d.com/api/message", } local i = 1 for _, server in ipairs(servers) do ngx.req.set_uri(server) ngx.req.set_method("GET") ngx.say("") i = i + 1 end end 大概就这样 |
12 flavoury 2024 年 3 月 7 日 openresty ,上 lua 脚本,或者用 nginx 的流量复制,可以的 |
13 lm930129 2024 年 3 月 7 日 你这个难道不是应该后端配置地址数组么,后端实现调用的时候判断是否成功吧 |
14 lidapang 2024 年 3 月 8 日 Nginx 流量镜像,可以的 |