nginx 代理

本文详细介绍了如何在Nginx中配置反向代理,包括proxy_pass的使用、设置header以保持客户端信息、实现负载均衡、缓存优化、TLS/SSL支持以及防范DDoS攻击。还提供了proxy_classic_config示例,展示了关键设置项如HTTP版本升级和请求头转发。
摘要由CSDN通过智能技术生成

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 转发客户端请求的端口

负载均衡

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值