nginx proxy
description
Usage
- config
- proxy_pass 开启反向代理
- 传递header
- 作用:使得服务器知晓真实客户端信息
- Nginx作为代理服务器时,会删除客户端Host与Connection两个字段以及删除空的header
- 使用proxy_set_header指令,设置正确的header值。
effect
- 负载均衡:在服务器间分配客户端请求,提高性能与可拓展性
- 缓存:缓存页面的预渲染版本;缓存服务器的相应内容,并使用缓存响应客户端
- TLS/SSL:充当客户端连接的SSL端点
- 压缩:
- DDOS攻击:将传入的请求和每个IP地址连接数限制为普通用户的典型值;根据客户端的位置或者表头限制访问,例如User-Agent和Referer阻止或限制访问。
proxy classic config
location/ {
proxy_pass http://127.0.0.1:3000;
proxy_http_version 1.1;
proxy_cache_bypass $http_upgrade;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
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_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Port $server_port;
}
- proxy_http_version HTTP协议版本,默认是1.0,websocke和keeplive链接需要使用V1.1
- proxy_cache_bypass $http_upgrade 表示直接通过应用,不使用缓存
- Upgrade $http_upgradr 和 Connection “upgrader” 字段在使用websocke时必填
- X-Real-IP 转发真实的客户端地址
- X-Forwarded-For 转发该字段,如果为空,转发$remote_addr
- X-Forwarded-Proto 转发客户端所使用的协议,HTTP或者HTTPS
- X-Forwarded-Host 转发客户端请求的地址
- X-Forwarded-Port 转发客户端请求的端口
负载均衡