nginx location配置

nginx location配置出现too many Host headers 错误

检查具体配置如下: 

 location  /monitor/ {
  proxy_set_header Host $host;
  proxy_set_header  X-Real-IP  $remote_addr;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_set_header Host $host;  
  proxy_pass  http://127.0.0.1:9001;
}

发现Host的配置重复,导致设置出错请求无法继续传递到后端

将多余的   proxy_set_header Host $host; 删除即可; 

location 路径下子路径的配置,

如果存在/monitor/xx1    /monitor/xx2   不用对每一个路径进行配置,直接/ 即可

#location /monitor/click   {
#  proxy_set_header Host $host;
#  proxy_pass  http://127.0.0.1:9001;
#}

#location /monitor/deliver    {
#  proxy_set_header Host $host;
#  proxy_pass  http://127.0.0.1:9001;
#}

location  /monitor/ {
  proxy_set_header Host $host;
  proxy_set_header  X-Real-IP  $remote_addr;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_pass  http://127.0.0.1:9001;
}

tip 如果设置反向代理的话使用ip 不能使用域名,使用域名会导致循环查找的bug 

upstream xxx{
    server 127.0.0.1:23456;
}

或者

proxy_pass   http://127.0.0.1:23456;

禁止: proxy_pass http://xx.xxx.com;

原文地址:https://www.cnblogs.com/lavin/p/10862795.html