Nginx反向代理负载均衡以及端口丢失问题

http {
    #三台负载配置,不考虑session
    upstream myapp1 {
        #least_conn策略会根据服务器压力分配请求
        least_conn;
        #weight权重 有20%请求分配到1地址
        server 192.168.1.1:8080 weight=2;
        #weight权重 有40%请求分配到2地址
        server 192.168.1.2:8080 weight=4;
        #weight权重 有40%请求分配到3地址
        server 192.168.1.3:8080 weight=4;
    }

    server {
        listen 8090;
        location / {
            #这个至关重要,表示代理的时候设置主机名(IP)和端口,不设置会无法转发请求,这里其实就是代理Nginx本机IP以及监听端口
            proxy_set_header Host $host:8090;
            #这个是获取到请求客户端的真实IP而不是Nginx代理机器的IP
            proxy_set_header X-Real-IP $remote_addr;
            #这个是转发
            proxy_set_header X-Forwarded-For $Proxy_add_x_forwarded_for;
            #这个名字可以随便取,只要能匹配到upstream的名字即可
            proxy_pass http://myapp1;
        }
    }
}

你可能感兴趣的:(nginx)