nginx反向代理报错400

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

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

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

[[email protected] ~]# 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>
[[email protected] ~]# 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;

然后再次访问结果如下:

[[email protected] ~]# curl  www.etiantian.org
apache www
[[email protected] ~]# curl  www.etiantian.org
www

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

时间: 2024-07-29 22:20:43

nginx反向代理报错400的相关文章

nginx反向代理 报错:Error during WebSocket handshake: Unexpected response code: 403

遇到nginx报错:websocket wss failed: Error during WebSocket handshake: Unexpected response code: 403 server { listen 6340; location / { proxy_pass http://web; proxy_http_version 1.1; #Nginx在与Node后端通信时使用HTTP/1.1,是WebSockets所必需的 proxy_set_header Origin '';

Nginx反向代理报504超时错误

nginx+tomcat 后端为tomcat,nginx代理报504超时错误. 问题描述: #错误 1.198.17.123 - - [06/Jul/2018:01:48:57 +0000] "POST /mapbj3/getticket HTTP/1.1" 504 537 "https://XXXXXXXXXX.com/walkcode3/index.html?openId=oB6UW0cF3Z_dnYXnz4tG4OFt7Rt0" "Mozilla/5

nginx反向代理后端IIS持续报错504

故障:使用nginx反向代理后端的IIS服务器出现报错504 gateway time-out 在网上查找修改buffer等内容无法解决 在nginx的配置文件中 event{ accept_mutex off; } 问题解决

搭建nginx反向代理用做内网域名转发

基于域名的7层转发的实现(NAT+反向代理) 在实际办公网中,因为出口IP只有一个,要实现对外提供服务的话就必须得做端口映射,如果有多个服务要对外开放的话,这只能通过映射不同端口来区分,这在实际使用过程中非常的痛苦(记忆困难.一一对应关系也没有规律.访问的时候还得加端口),这个痛苦的问题用表格的形式来形象的描述如下: Public IP Public Port Number Internal IP Internal Port Number Note 1.1.1.1 80 192.168.1.10

nginx服务,nginx反向代理

(一)nginx 同apapche功能一样,基于http协议传输,提供web服务,用于搭建linux的web服务器. 1.安装过程: (1)安装扩展源epel,有的话可不用安装: -----yum clean all -----yum install epel-release -y (2)安装nginx ----yum install nginx -y (3)写配置文件(写的配置以分号结尾) -----vim /etc/nginx/nginx.conf 默认关键配置项: root  /usr/s

nginx反向代理-后端服务器组设置

nginx服务器的反向代理时其最常用的重要功能之一,在实际工作中应用广泛,涉及的配置指令也比较多.下面会尽量详细地介绍对应的指令,及其使用状态. 反向代理一般是互联网需要向内网拉取资源,比如访问一个web网站时,互联网应用通过一个代理服务器到后面真实的web服务器拉取应用所需的数据. nginx服务器反向代理用到的指令如果没有特别的说明,原则上可以出现在nginx配置文件的http块,server块和location块中,但是同正向代理一样,一般是搭建在nginx服务器中单独配置一个server

Nginx反向代理,负载均衡,redis session共享,keepalived高可用

相关知识自行搜索,直接上干货... 使用的资源: nginx主服务器一台,nginx备服务器一台,使用keepalived进行宕机切换. tomcat服务器两台,由nginx进行反向代理和负载均衡,此处可搭建服务器集群. redis服务器一台,用于session的分离共享. nginx主服务器:192.168.50.133 nginx备服务器:192.168.50.135 tomcat项目服务器1:192.168.50.137 tomcat项目服务器2:192.168.50.139 redis服

linux-nginx服务nfs服务nginx反向代理三台web

一:nginx服务 1.二进制安装nginx包 [[email protected] ~]# systemctl disable firewalld  #关闭Firewalls自启动 Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service. Removed symlink /etc/systemd/system/basic.target.wants/firewalld.service. [[ema

腾讯云(ubuntu)下安装 nodejs + 实现 Nginx 反向代理

本文将介绍如何给腾讯云上的 Ubuntu Server 12.04 LTS 64位主机安装 node 及 nginx,并简单配置反向代理. 笔者在整个安装过程中遇到不少麻烦(不赘述),如果你希望少踩坑,可以按本文的步骤进行安装部署. 一. 新版 nodejs 安装 这里强烈推荐使用 nvm (Node版本管理器),其它方式的安装或多或少都有些问题. 具体步骤如下: 1. 通过 git 指令下载nvm 执行指令如下,我们把nvm下载到 /root/git/ 中去(记得要先安装 git): [[em