Nginx流量镜像是指一次http请求,被同时转发到多个后端。
流量镜像使用了Nginx的mirror模块,从1.13版本起,nginx开始内置mirror模块,所以高于1.13版本的nginx可直接使用,无需再次编译。
比如以下配置,当访问此路径时,首先会被反向代理到http://ww.daxiao.cc/api/data/index.php,然后再次被转发到http://m.daxiao.cc/api/data/index.php
location /api/data/ {
#优先转发http://ww.daxiao.cc/api/data/index.php;
proxy_pass http://ww.daxiao.cc/api/data/index.php;
#同时, 流量镜像转发到/mirror/, http://m.daxiao.cc/api/data/index.php;
mirror /mirror/;
}
location /mirror/ {
internal; #只允许来自本地 Nginx 的内部调用,来自外部的访问会直接返回 404 not found 状态
proxy_pass http://m.daxiao.cc/api/data/index.php;
}
可以在第一次访问时,不设置反向代理,仅设置转发
location /api/data/ {
#同时转发到/mirror/, http://m.daxiao.cc/api/data/index.php;
mirror /mirror/;
}
location /mirror/ {
internal; #只允许来自本地Nginx的内部调用,来自外部的访问会直接返回 404 not found 状态
proxy_pass http://m.daxiao.cc/api/data/index.php;
}
注意:一切都以第一次请求的实际响应结果为准,不管第二次被mirror流量分发站点的响应情况是否正常。
下一篇:最后一页