请教一下大家 nginx 能把一个接口 同时代理到多个地址上吗?

查看 64|回复 4
作者:hayhong123   
举个例子,就是想要做到一个 location 中配置多个 proxy_pass 的效果,具体场景是三方短信回调只能配置一个地址,所以就想无脑把这个地址同时转发到多套环境的接口上。
location /api/message/xxx {
proxy_pass https://a.com/api/message/xxx/;
proxy_pass https://b.com/api/message/xxx/;
proxy_pass https://c.com/api/message/xxx/;
proxy_pass https://d.com/api/message/xxx/;
}
Jeremial   
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;
}
}
hayhong123
OP
  
@Jeremial 我想的是 同时转到多个地址上 不是轮询或者 ip_hash 之类的负载 请问大佬这个需要怎么改一下哈?
Kinnice   
看起来得上 lua 脚本了
angryfish   
我曾经也有这个需求。
单纯 nginx 没搞出,用 node 写了个转发。
关注一下纯 nginx 的方案。
您需要登录后才可以回帖 登录 | 立即注册

返回顶部