Nginx 反向代理与负载均衡实战
在现代 Web 架构中,反向代理是不可或缺的组件。Nginx 以高性能和稳定性成为最受欢迎的反向代理服务器。
一、基础概念
反向代理位于客户端和后端服务器之间,负责转发请求。
- 隐藏后端地址
- SSL/TLS 终止
- 负载均衡
- 缓存静态内容
- 压缩响应
- 限流防攻击
server {
listen 80;
server_name example.com;
location / {
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;
}
}
二、负载均衡
Nginx 支持多种负载均衡算法:
upstream backend {
least_conn;
server 192.168.1.10:8080 weight=3;
server 192.168.1.11:8080 weight=2;
server 192.168.1.12:8080 backup;
}
| 算法 | 说明 | 场景 |
|---|---|---|
| [‘轮询’, ‘按顺序分配’, ‘通用’] | [‘最少连接’, ‘连接数最少’, ‘长连接’] | [‘IP 哈希’, ‘同IP同服务器’, ‘会话保持’] |
三、HTTPS
SSL/TLS 配置是重要环节。
server {
listen 443 ssl http2;
ssl_certificate /etc/nginx/ssl/cert.pem;
ssl_certificate_key /etc/nginx/ssl/key.pem;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_session_cache shared:SSL:10m;
}
四、性能调优
合理配置提升性能:
- worker_processes = CPU核心数
- worker_connections 按负载调整
- 启用 gzip 压缩
- 配置 proxy_cache
- 调整 keepalive_timeout
worker_processes auto;
worker_connections 4096;
proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=c:10m max_size=1g;
五、安全加固
- 配置 rate limiting
- 隐藏版本信息
- 配置安全头
- 限制请求大小
- 配置 WAF 规则
六、总结
掌握负载均衡、SSL、性能调优和安全加固,可构建高可用代理服务。
本文基于实际生产环境经验编写,配置参数需根据具体情况调整。建议在测试环境验证后再应用于生产环境。如需了解更多技术细节和实践案例,请关注本站后续文章。
虾米生活分享

评论前必须登录!
注册