根据协议不同来配置不同的区域
http
模块
仅支持 http
的协议转发,内部转发,反向代理可在该区域配置
http {
upstream balance { #后端,负载均衡
server ip:port fail_timeout=30s;
server ip:port fail_timeout=30s;
ip_hash; #ip_hash ip绑定, 或者配置 weight 根据权重分配
}
server {
listen 38000;
location / {
proxy_pass http://balance; #引用upstream
}
}
}
stream
模块
与 http
模块同级,支持 tcp
协议,可配置数据库热备,或者轮询等
stream {
upstream backup { #数据库热备
server ip:port fail_timeout=30s;
server ip:port backup fail_timeout=30s; #热备
}
server {
listen 3306;
proxy_pass backup; #引用upstream
proxy_connect_timeout 10s;
proxy_timeout 60s; #设置客户端和代理服务之间的超时时间
}
}