您的当前位置:首页>全部文章 >"博客"内的文章 >文章详情
nginx 负载均衡(四层、七层)
发表于:2022-02-16 17:56:44浏览:269次TAG: #nginx


nginx 负载均衡(四层、七层)


    nginx四层负载均衡模块 ngx_stream_core_module 模块模拟反向基于tcp或udp的服务连接,即工作于传输层的反向代理或调度器 。官方源1.18.0默认安装此可选模块,默认情况下未构建此模块,编译应使用--with-stream 配置参数启用它。

    ① nginx七层负载均衡

        七层负载均衡,web1端口9091,web2端口9092,通过9090端口进行负载转发。配置位于http内部。

http {
    server {
        listen        9091;
        server_name  localhost;
        root   "D:/temp/ngxin1";
    }
    server {
        listen        9092;
        server_name  localhost;
        root   "D:/temp/ngxin2";
    }
    upstream reer_http {
        server localhost:9091;
        server localhost:9092;
    }
    server{
	    listen 9090;
	    location / {
		proxy_pass http://reer_http;
	    }
    }
}


    ② ngxin 四层负载均衡

        四层负载均衡,web1端口9091,web2端口9092,通过9999端口进行负载转发。配置位于最顶层。

stream {
    log_format  proxy '$remote_addr $remote_port - [$time_local] $status $protocol '
                  '"$upstream_addr" "$upstream_bytes_sent" "$upstream_connect_time"' ;
    access_log D:/temp/ngxin1/proxy.log proxy;
    upstream reer_http4 {
	#least_conn;
        server localhost:9091;
        server localhost:9092;
    }

    server {
        listen 9999;
        proxy_pass reer_http4;
    }
}

    ③ nginx四层ssl(未测试),ssl_preread 需加载 ngx_stream_ssl_preread_module 模块

stream { 
    map $ssl_preread_server_name $name {        
        default                  backend;    
        #   backend.example.com      backend2;    
    }

    upstream backend {
        server ironfo.com:443;    
        #    server 192.168.0.4:12345;    
    } 
    #upstream backend2 {
    #    server 192.168.0.1:12345;
    #    server 192.168.0.2:12345;
    #}
    server {
        listen      8080;
        proxy_pass  $name;
        ssl_preread on;
    }
}
登录 登录阅读全文