nginx反向代理配置详解
·
参考资料
nginx反向代理配置详解
-
基础配置
- server {
- listen 80;
- server_name example.com;
- location / {
- proxy_pass http://backend_server;
- proxy_set_header Host $host;
- proxy_set_header X-Real-IP $remote_addr;
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
- }
- }
-
listen: 监听端口 -
server_name: 域名或IP -
location: 匹配请求路径 -
proxy_pass: 指定后端服务地址 -
proxy_set_header: 设置请求头传递信息
-
常用参数
-
proxy_connect_timeout: 后端连接超时时间(默认60s) -
proxy_read_timeout: 读取后端响应超时时间(默认60s) -
proxy_send_timeout: 发送请求到后端的超时时间(默认60s) -
proxy_buffering off: 关闭响应缓冲(适用于实时流)
-
SSL配置
- server {
- listen 443 ssl;
- server_name example.com;
- ssl_certificate /path/to/cert.pem;
- ssl_certificate_key /path/to/key.pem;
- location / {
- proxy_pass http://backend_server;
- # 保持基础配置中的header设置
- }
- }
-
WebSocket支持
- location /ws/ {
- proxy_pass http://websocket_server;
- proxy_http_version 1.1;
- proxy_set_header Upgrade $http_upgrade;
- proxy_set_header Connection "upgrade";
- }
-
负载均衡
- upstream backend {
- server 192.168.1.10:8080;
- server 192.168.1.11:8080;
- server 192.168.1.12:8080;
- }
- server {
- location / {
- proxy_pass http://backend;
- }
- }
-
缓存控制
- proxy_cache_path /data/nginx/cache levels=1:2 keys_zone=my_cache:10m;
- location / {
- proxy_cache my_cache;
- proxy_cache_valid 200 302 10m;
- proxy_cache_valid 404 1m;
- }
检查配置并重载
- nginx -t # 验证配置
- nginx -s reload # 重载配置
更多推荐


所有评论(0)