Nginx(08)-反向代理

本文介绍了Nginx的反向代理功能,解释了反向代理的作用,如保护服务器安全、节省IP资源等。详细阐述了Nginx反向代理的配置指令,包括proxy_pass、proxy_set_header、proxy_connect_timeout、proxy_read_timeout和proxy_send_timeout等,以及它们的用法和注意事项。同时提到了内置变量如$proxy_host和$proxy_port在反向代理中的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

什么是反向代理

 Nginx反向代理

配置指令

proxy_pass

proxy_set_header

proxy_connect_timeout

proxy_read_timeout

proxy_send_timeout

proxy_set_body

proxy_pass_request_body

proxy_pass_request_headers

内置变量


什么是反向代理

  反向代理(Proxy)指用代理服务器接受外部的连接请求,然后将请求转发给真实提供服务的服务器,并将从服务器上得到的结果返回给请求连接的客户端。示意图如下:


  反向代理好处如下:

  • 保护目标服务器的资源安全:反向代理可以隐藏目标服务器的真实 IP 地址和端口,防止恶意用户直接攻击目标服务器。只有反向代理服务器对外可见,从而保护了目标服务器的资源安全。
  • 节省有限的 IP 地址资源:由于公网 IPv4 地址资源有限,通过使用反向代理,可以将多个后端服务器(用内网ip地址即可)隐藏在同一个公网 IP地址后面。这样,可以节省 IP 地址资源并最大限度地提供服务。
  • 可提供更好的服务体验:反代理服务器本身可提供非常多的附加功能,改善系统的整体服务体验,并节省系统建设成本,如高并发、缓存加速、安全保护等都可由代理服务器提供,而不是应用本身来考虑。
  • 系统易扩展、易维护:反代理服务器后的真实服务器,可按需扩展;可按维护计划灵活维护,不影响外部使用体验。
     

 Nginx反向代理

  Nginx初衷是解决C10K问题,因此天然就是反向代理服务器,在此基础上Nginx才可以实现负载均衡、缓存加速、SSL 终端、安全过滤等更多功能。
  反向代理功能由ngx_http_proxy_module模块提供。
  反向代理例子如下:

location / {
    # 指向被代理服务器
    proxy_pass       http://localhost:8000;
    # 设置转发请求头
    proxy_set_header Host      $host;
    proxy_set_header X-Real-IP $remote_addr;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

乐享技术

每一个打赏,都是对我最大的鼓励

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值