一、 错误环境说明
之前一直在用nginx反向代理tomcat7.0.76。今天使用的是tomcat7.0.90,配置完成后,直接访问tomcat完全正常,但是只要在nginx添加反向代理tomcat,访问nginx就会报错400。之后我把配置文件其余的都删了,还是行不通。如果使用tomcat7.0.76就可以反向代理。
二、 网络上说的错误原因
如果后端服务器设置有类似防盗链或者根据http请求头中的host字段来进行路由或判断功能的话,如果反向代理层的nginx不重写请求头中的host字段,将会导致请求失败,报400错误。
三、 解决办法
location中设置
proxy_set_header Host $http_host;
网友评论