今天线上遇到一个请求一次,触发多次的请求,而且直接把nginx机器压垮了。经排查,经过如下:

一、

server{

server www.jyall.com;

location /latestrelease {

proxy_pass https://jiaju.jyall.me/latestrelease;

}

}

二、

www.jyall.com域名proxy_pass到https://jiaju.jyall.me/latestrelease的url。jiaju.jyall.me是apirouter带请求头"www.jyall.com"又去请求www.jyall.com这个域名,造成死循环。

三、解决方案如下:

server{

server www.jyall.com;

location /latestrelease {

        proxy_set_header Host "jiaju.jyall.me";

        proxy_set_header X-Real-IP $remote_addr;

proxy_pass https://jiaju.jyall.me/latestrelease;

}

}

再次proxy_pass到jiaju.jyall.me请求的时候应该为jiaju.jyall.me而不是www.jyall.com的头。

05-11 14:03