点赞
评论
收藏
分享
举报
使用 NGINX Plus 进行反向代理
发表于2025-08-05 16:54

浏览 1.8k

原文作者:Rick Nelson - F5  RVP, Solution Engineering
原文来源:使用 NGINX Plus 进行反向代理
转载来源:NGINX 中文官网


NGINX 唯一中文官方社区 ,尽在 nginx.org.cn

   


 

NGINX 作为一个高性能的 Web 服务器获得了当之无愧的声誉。 我想很多人都意识到 NGINX 也可以用作反向代理,但他们可能没有意识到它是一个多么强大的反向代理。

   

什么是反向代理?

首先让我们回顾一下并问一下,什么是代理服务器?  我认为维基百科有一个很好的定义:


“代理服务器是一种服务器(计算机系统或应用),它充当客户端向其他服务器寻求资源的请求的中介。 ”


因此,代理服务器位于客户端和托管客户端所需数据的实际服务器之间。 对于客户端来说,代理服务器似乎是实际的后端服务器,而对于后端服务器来说,代理服务器看起来像客户端。 为了定义反向代理服务器,我们回到维基百科


“反向代理是一种代理服务器,它代表客户端从一个或多个服务器检索资源。 ”


不同之处在于,代理服务器位于客户端和一个后端服务器之间,而反向代理服务器位于一个或多个后端服务器的前面,并决定对每个请求使用哪一个后端服务器。

   

使用反向代理有什么好处?

为什么要使用反向代理服务器?  有很多好处:


  • 并发性——互联网应用通常涉及大量客户端,每个客户端打开多个连接,从而导致与后端服务器的连接数量非常多。 许多 Web 服务器和应用服务器不能很好地处理大量连接(NGINX 用作 Web 服务器时是个例外),因此添加可以更好地处理多个连接的反向代理可以显著提高后端服务器的性能。
  • 弹性——如果客户端直接连接到后端服务器并且该服务器出现故障,则所有当前连接(或尝试连接)到该服务器的客户端的请求都会失败。 反向代理服务器可以监视后端服务器的运行状况,并停止向故障服务器发送请求,直到其恢复服务。 客户端看不到错误,因为反向代理会自动将其请求发送到仍在运行的后端服务器。
  • 可扩展性——因为反向代理是后端服务器组的唯一“公共面孔”,所以您可以根据不断变化的流量负载添加和删除服务器。
  • 第 7 层路由——反向代理可以看到发往所有服务器的流量,并可以明智地决定将每个请求发送到何处,并根据需要修改请求和响应。 它可以根据请求中的某个 HTTP 标头、URL 的一部分、客户端的地理位置等做出路由决策。
  • 缓存——反向代理是进行缓存的好地方——在那里缓存内容通常比将所有请求发送到后端服务器并让每个后端服务器构建自己的缓存效率更高。
  • 其他功能——通过位于后端服务器前面,反向代理还可以执行其他功能,例如基于带宽或请求率的流量整形、连接限制、与各种授权方案的集成、活动监控等等。

   

使用 NGINX Plus 作为反向代理

NGINX Plus 为 NGINX Open Source 著名的 Web 服务器功能引入了更多功能,使 NGINX Plus 成为一个功能齐全的应用交付控制器 (ADC),能够取代专有硬件设备。


以下只是 NGINX Plus 中的一些功能。

 

负载均衡

有多种负载均衡算法可供选择,包括加权和非加权。 还支持会话持久性。 NGINX Plus 可以对 HTTP、HTTPS、WebSocket、FastCGI、memcached、SCGI、SPDY [已被 HTTP/2 取代,但 NGINX Plus 也能对其进行负载均衡] 和 uwsgi 进行负载均衡。 阅读更多

 

健康检查

支持对后端服务器健康状况的被动和主动监控。 如果 NGINX Plus 无法连接到某个节点,则该节点将被标记为关闭。 还可以配置主动健康检查以针对后端节点定期运行。 此外,可以使用慢启动功能,以便 NGINX Plus 缓慢地增加到刚刚上线的节点的流量,以避免因突发的大量流量而导致节点不堪重负。 阅读更多

 

请求路由

可以根据请求的任何部分进行流量路由,例如客户端 IP 地址、主机名、URI、查询字符串、标头等。

 

请求和响应重写

请求或响应的任何部分都可以修改,包括标头、正文和 URI。NGINX Plus 还可以添加和删除标头。 阅读更多

 

缓存

响应可以被缓存,并且您可以配置要缓存的内容类型以及缓存时间。 您还可以清除缓存中的项目。 阅读更多

   

压缩

支持 Gzip 压缩,可以细粒度地控制压缩哪些内容以及何时使用压缩。 阅读更多

   

SSL/TLS 处理

支持SSL/TLS解密和加密,并且可以使用不同的证书对多个域名进行解密。 阅读更多

 

实时活动监控和记录

以 JSON 格式编码的 NGINX Plus 统计数据可通过简单的 HTTP 请求获取。 提供了仪表板网页来显示统计信息,或者您可以将它们提供给自定义或第三方监控工具,可以配置自定义格式的日志以进行本地日志记录和导出到系统日志。 阅读更多

 

还有更多

NGINX 还有很多功能,比如支持视频流、邮件代理支持、GeoIP 支持、无停机平稳重启和升级、流量整形、连接限制等等。 如需了解更多信息,请访问 nginx.com nginx.org

   


NGINX 唯一中文官方社区 ,尽在 nginx.org.cn

更多 NGINX 相关的技术干货、互动问答、系列课程、活动资源: 开源社区官网 | 微信公众号 | B 站


已修改于2025-08-05 16:54
本作品系原创
创作不易,留下一份鼓励
NGINX官方账号

暂无个人介绍

关注



写下您的评论
发表评论
全部评论(0)

按点赞数排序

按时间排序

关于作者
NGINX官方账号
这家伙很懒还未留下介绍~
331
文章
21
问答
201
粉丝
相关文章
介绍nginx网页配置工具QQ技术交流群1:1106758598QQ技术交流群2:560797506邮箱: cym1102@qq.com官网地址: http://www.nginxwebui.cn码云: https://gitee.com/cym1102/nginxWebUIgithub: https://github.com/cym1102/nginxWebUI功能特点nginxWebUI也可管理多个nginx服务器集群,随时一键切换到对应服务器上进行nginx配置,也可以一键将某台服务器配置同步到其他服务器,方便集群管理.部署此项目后,配置nginx再也不用上网各种搜索配置代码,再也不用手动申请和配置ssl证书,只需要在本项目中进行增删改查就可方便的配置和启动nginx。技术说明本项目是基于springBoot的web系统,数据库使用sqlite,因此服务器上不需要安装任何数据库项目启动时会释放一个.sqlite.db到系统用户文件夹中,注意进行备份本系统通过Let'sencrypt申请证书,使用acme.sh脚本
点赞 6
浏览 23.4k
  前三周学习了陶辉老师的“NGINX基础培训系列课程”,感觉受益良多,在这里想把一些知识点记录一下,和大家分享一下知识点,也方便日后的随手查看,温故知新。  首先,我们了解到了Nginx的版本,Nginx发布版本分为主线版本和稳定版本,区分两个版本也非常简单,主线版本版本号为单数,比如1.19,稳定版本为双数,比如1.18,今天我要说的是稳定版本,这个版本会尽量少的减少Nginx的bug问题,适用于生产环境,这里我不建议使用Nginx和其他软件一样在生产环境中落后一个或多个大版本使用,之前生产环境做过漏扫,发现我们编译自带的Nginx版本为:nginx/1.13.3(查询命令为nginx-V),结果出现了多个漏洞,四个高危和一个中危漏洞:        通过升级Nginx到稳定版最新版本后修复!  其次,是Nginx发行版本的选择,目前比较流行的有:nginx、nginxplus、Tengine、openresty、ope
点赞 1
浏览 16.8k
感谢您参加“NGINX从入门到精通进阶系列培训”!以下为培训的问答、课件和录像,希望您能通过此培训学有所得,祝学习进步!>问与答:- 基础篇+高级篇 - 应用篇+实战篇(New)>课件(PPT):基础篇:-NGINX概要、安装、配置:https://interact.f5.com/rs/653-SMC-783/images/CNFEB22-NginxCoreCourse-Setup.pdf-NGINX日志、运维:https://interact.f5.com/rs/653-SMC-783/images/cnfeb22-nginxcorecourse-maintenance.pdf高级篇:-NGINX变量、API:https://interact.f5.com/rs/653-SMC-783/images/CNFEB22-NginxCoreCourse-API.pdf-NGINXSSL、NJS:https://interact.f5.com/rs/653-SMC-783/images/CNFEB22-NginxCoreCourse-SSL.pdf
点赞 10
浏览 19.3k