nginx 负载均衡(四层、七层)
发表于:2022-02-16 17:56:44浏览:340次
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; } }