码迷,mamicode.com
首页 > 其他好文 > 详细

nginx反向代理报错400

时间:2019-01-02 12:33:50      阅读:203      评论:0      收藏:0      [点我收藏+]

标签:http   type   enc   head   ant   curl   oct   解决办法   请求   

当用nginx做负载均衡的时候,nginx的配置文件如下:

    upstream server_pools {
         server 10.0.0.7:80  weight=1;
         server 10.0.0.8:80  weight=1;

当客户端访问时出现报错如下:

[root@lb02 ~]# curl  www.hahaetiantian.org
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>400 Bad Request</title>
</head><body>
<h1>Bad Request</h1>
<p>Your browser sent a request that this server could not understand.<br />
</p>
<p>Additionally, a 400 Bad Request
error was encountered while trying to use an ErrorDocument to handle the request.</p>
</body></html>
[root@lb02 ~]# curl  www.hahaetiantian.org
www

查看日志报错并不能找到原因,但是根据400报错以及对http协议的原理了解得知是因为请求头的原因,最后在网上找到解决办法,原因是因为upstream后面的名称有下划线使得代理无法识别,修改如下:

    upstream server-pools {
         server 10.0.0.7:80  weight=1;
         server 10.0.0.8:80  weight=1;

然后再次访问结果如下:

[root@lb02 ~]# curl  www.etiantian.org
apache www
[root@lb02 ~]# curl  www.etiantian.org
www

nginx反向代理报错400

标签:http   type   enc   head   ant   curl   oct   解决办法   请求   

原文地址:http://blog.51cto.com/13054614/2337733

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!