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

