#user nobody; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; events { worker_connections 1024; } http { #开启和关闭gzip模式 gzip on; #gizp压缩起点,文件大于1k才进行压缩 gzip_min_length 1k; # gzip 压缩级别,1-9,数字越大压缩的越好,也越占用CPU时间 gzip_comp_level 9; # 进行压缩的文件类型。 gzip_types text/plain application/json application/javascript application/x-javascript text/css application/xml text/xml text/javascript image/png image/gif image/jpeg; # 是否在http header中添加Vary: Accept-Encoding,建议开启 gzip_vary on; # 设置压缩所需要的缓冲区大小,以4k为单位,如果文件为7k则申请2*4k的缓冲区 gzip_buffers 4 16k; include mime.types; default_type application/octet-stream; sendfile on; client_max_body_size 20m; underscores_in_headers on; # 定义上游服务器组 upstream backend_8082 { server localhost:8082; server v5qy.te.baibaodun.com.cn backup; # 可选:设置重试次数和超时时间 # retry 1; # 如果后端服务器返回错误,重试一次 # keepalive 32; } upstream backend_8083 { server v5qy.te.baibaodun.com.cn; # 可选:设置重试次数和超时时间 # retry 1; # keepalive 32; } # 使用 map 根据请求头设置 $backend 变量 map $http_bcx_com_id $backend { "O7f4fVUf" backend_8082; default backend_8083; } server { listen 80; server_name localhost; # 替换为您的域名或IP location /dispatch { proxy_pass http://$backend; # 其他代理设置同上 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_connect_timeout 5s; proxy_read_timeout 10s; proxy_send_timeout 10s; proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504; proxy_next_upstream_tries 2; } } }