场景需求:公司门禁系统的打卡数据只支持http主动推送往一个地址,但是内部有两个系统需要获取这些数据,这时可以使用nginx的镜像请求实现请求复制。"mirror" 指令会创建一个镜像请求,并将其发送到指定的位置,但不会等待镜像请求的响应。
配置如下:
server {
listen 80;
server_name fmi110.com;
# 源站配置
location / {
access_log /usr/local/nginx/logs/access.log accesslog;
mirror /mirror;
mirror_request_body on;
proxy_pass http://fmi110.upstream1;
}
# 镜像站点配置
location /mirror{
# 限制外部请求该地址
internal;
# 复制请求到另外一台服务器
proxy_pass http://mirror.upstream$request_uri;
proxy_pass_request_body on;
proxy_set_header X-Original-URI $request_uri; #使用真实的url重置url
}
}
更详细的信息可参考:Nginx流量镜像 - 掘金