nginx反向代理报400 Bad Request及ws://…无法连接的解决方法

需要编辑nginx.conf文件,加上红色部分就行了

#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

pid        logs/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;

    keepalive_timeout  65;
    
    #upstream设置,设置代理服务器(负载均衡池),默认的负载均衡方式是轮询,另外一种是ip_hash
    upstream tomcat_server {
        #ip_hash; 
        server 19.131.1.74:8080 weight=1;
        server 192.168.0.183:8099 weight=1;
    }
    
    upstream tomcat_wlw {
        #ip_hash; 
        server 19.131.1.90:18081 weight=1;
    }

    server {
        listen       8192;
        server_name  localhost;

        location /test {
            #proxy_pass http://tomcat_server;
            root   html;
            index  index.html index.htm;
        }
        
        location / {
            proxy_pass http://tomcat_wlw;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
        
        # 配置该虚拟机的字符设置,如果不配置继承自http中的charset设置
        #charset utf-8;

        #access_log 访问日志文件设置,如果server虚拟机中不设置,则继承http模块中的access_log的设置
        #access_log  logs/access.log;
        
        location ~*/static/ {
            # HTTP代理模块 proxy,主要是用来转发请求到其他服务器
            # 如果后端服务器返回502,504,执行超时等错误,自动将请求转发到upstream负载均衡池中的另一台服务器,实现failover。
            proxy_next_upstream http_502 http_504 error timeout invalid_header;
            # 变量$host等于客户端请求头中的Host值。
            proxy_set_header Host $host;
            #后端的web服务器可以通过X-Forwarded-For获取真实的IP地址,$remote_addr客户端的ip地址
            proxy_set_header X-Forwarded-For $remote_addr;
            proxy_pass http://tomcat_wlw;
        }
        
        location ~*/api/ {
            # HTTP代理模块 proxy,主要是用来转发请求到其他服务器
            # 如果后端服务器返回502,504,执行超时等错误,自动将请求转发到upstream负载均衡池中的另一台服务器,实现failover。
            proxy_next_upstream http_502 http_504 error timeout invalid_header;
            # 变量$host等于客户端请求头中的Host值。
            proxy_set_header Host $host;
            #后端的web服务器可以通过X-Forwarded-For获取真实的IP地址,$remote_addr客户端的ip地址
            proxy_set_header X-Forwarded-For $remote_addr;
            proxy_pass http://tomcat_wlw;
            
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "upgrade";

        }
    }
}
        
        

你可能感兴趣的:(nginx反向代理报400 Bad Request及ws://…无法连接的解决方法)