正向代理 内网====>代理服务器======>互联网

反向代理 网络=====>反代服务器=====>工作服务器 反代服务器 proxy_pass http://zhima.love:80;

  1. Header(头部)—— 欺骗后端,传递真相 核心指令:proxy_set_header proxy_set_header Host $http_host; 域名头 proxy_set_header X-Real-IP $remote_addr; 真实ip头 proxy_set_header X_forwarded_for $proxy_add_x_forwarded_for; 代理ip头 工作服务器 log_format main '$remote_addr - $remote_user [$time_local] "$request"' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" $http_x_forwarded_for';

. Buffer(缓冲)—— 吃内存换性能 核心指令:proxy_buffering、proxy_buffer_size、proxy_buffers . Timeout(超时)—— 防止死等,保护资源 核心指令:proxy_connect_timeout、proxy_read_timeout、proxy_send_timeout

缓存

负载均衡 upstream 第 1 步:在 http 块里定义一个“服务器池”(upstream) nginx http {

定义一个后端服务器池,起名叫 backend

upstream backend {
ip_hash;   # 根据用户 IP 做哈希,同一 IP 永远去同一台服务器
    server 139.129.32.19:80;    # 你的第一台云服务器
    server 139.129.32.20:80;    # 假设的第二台云服务器
    server 139.129.32.21:80;    # 假设的第三台云服务器
}

location / { proxy_pass http://backend; # 这里不再写具体 IP,而是写 upstream 的名字 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; }

upstream backend {

1. 权重(Weight):性能好的机器多分点活

server 139.129.32.19 weight=5;   # 这台机器性能好,处理 5 份请求
server 139.129.32.20 weight=2;   # 这台性能一般,处理 2 份请求
server 139.129.32.21 weight=1;   # 这台性能弱,处理 1 份请求

# 2. 备份(Backup):平时不用,其他机器都挂了才启用
server 139.129.32.22:80 backup;

# 3. 最大失败次数 + 踢出时间(健康检查)
server 139.129.32.19 max_fails=3 fail_timeout=30s;
# 如果连续失败 3 次,Nginx 会认为这台机器挂了,30 秒内不再往这发请求

}

← 返回笔记列表