使用Nginx做反向代理时,如何查看web请求被落地到哪台服务器

怎么改配置才可以实现前端需求:查看请求到底落在哪台后端应用服务器?

通过查阅文档,我们看到upstream模块有两个内置变量,一个是upstream_addr,一个是upstream_status, 配置这两个参数,可以查看到请求落在了后端的具体哪个server上

配置如下:在server location加上这两个变量,通过添加请求头backendIP和backendstatus 来获取这两个变量的值。

server {
    listen 9001 ;
    server_name  localhost;

    location / {
        proxy_pass http://minio_http;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        add_header backendIP $upstream_addr;
        add_header backendCode $upstream_status;
        client_max_body_size 99999m;
    }
}


upstream minio_http {
    least_conn;

    server 192.168.166.20:9000 weight=1;
    server 192.168.166.21:9000 weight=1;
    server 192.168.166.22:9000 weight=1;
    server 192.168.166.23:9000 weight=1;

    keepalive 1000;
}

此时浏览器访问负载均衡入口,查看请求响应:

可以看到请求具体被转发到了哪台服务器上,以及相应状态码。

提示:请勿用于线上环境。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值