Nginx 请求拷贝、请求镜像
场景需求:公司门禁系统的打卡数据只支持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流量镜像 - 掘金