Nginx反向代理详解

简介: Nginx的反向代理和负载均衡可以保证后端服务器资源的安全以及各个服务器可以根据性能设置权重来控制服务器所接收的访问量,实现真正的负载均衡。

概念说明
什么是Nginx
  Nginx 是一个高性能的开源 Web 服务器和反向代理服务器。它具有轻量级、高并发、低内存消耗等特点,被广泛用于搭建静态资源服务器、负载均衡、反向代理等场景。本文介绍nginx的反向代理,其他内容敬请期待!

什么是反向代理
  反向代理是一种代理服务器的配置模式,它代表服务器向客户端提供服务。客户端发送请求到反向代理服务器,然后反向代理服务器将请求转发到后端的真实服务器上,并将响应返回给客户端。简单理解为用户直接访问反向代理服务器就可以获得目标服务器的资源。这一过程叫反向代理

功能介绍
  Nginx 可以作为反向代理服务器,接收客户端的请求,并将请求转发到后端的真实服务器上。通过反向代理,可以实现负载均衡、缓存加速、SSL 终端、安全过滤等功能。

「 负载均衡」:Nginx 可以通过反向代理实现负载均衡,将请求分发到多个后端服务器上,从而提高系统的并发处理能力和可用性。常见的负载均衡算法有轮询、IP 哈希、最少连接等。
「 缓存加速 」:Nginx 可以缓存静态资源或动态页面,减少后端服务器的负载,提高响应速度。通过设置缓存时间、缓存规则等参数,可以灵活地控制缓存策略。
「 SSL终端 」:Nginx 可以作为 SSL 终端,接收 HTTPS 请求并进行 SSL/TLS 解密,然后将解密后的请求转发给后端服务器。这样可以减轻后端服务器的负担,提高安全性和性能。
「 安全过滤」:Nginx 可以通过反向代理实现安全过滤功能,例如防止恶意请求、DDoS 攻击、SQL 注入等。通过配置访问控制规则、限制请求频率等方式,可以提高系统的安全性。
「 配置文件」:Nginx 的反向代理功能通过配置文件进行配置。配置文件包含了全局配置、http 配置和 server 配置等部分,可以设置监听端口、代理规则、缓存配置、负载均衡策略等。
「 超高性能 」:Nginx 具有高性能的特点,采用异步非阻塞的事件驱动模型,可以处理大量并发连接。同时,Nginx 的内存消耗较低,适合在资源有限的环境中使用。
配置过程
1.修改nginx配置文件
1.1切换到nginx的conf路径下操作nginx的配置文件

cd /usr/local/openresty/nginx/conf
AI写代码
java
运行
1
1.2防止修改错误可以先备份一下配置文件

cp nginx.conf nginx.conf.baks
AI写代码
java
运行
1
1.3对配置文件进行修改

vim nginx.conf
AI写代码
java
运行
1
修改全局模块

修改工作模块

修改HTTP模块

  include:用来设定文件的mime类型,类型在配置文件目录下的mime.type文件定义,来告诉nginx识别文件类型
  default_type:设定了默认的类型为二进制流,也就是当文件类型未定义时使用这种情况

2.保存配置文件
:wq
AI写代码
java
运行
1
3.重启配置文件
cd ..
AI写代码
java
运行
1
./sbin/nginx -s reload
AI写代码
java
运行
1
4.查看配置文件是否重启成功
ps -aux | grep nginx
AI写代码
java
运行
1

  重启成功之后我们就可以在浏览器上通过访问服务器的ip地址或者域名后面拼接/百度就可以访问到百度的主页了。当然也可以配置其他的网页或者资源。

配置反向代理的好处
  通过使用 Nginx 反向代理,可以保护目标服务器的资源安全,节省有限的 IP 地址资源,并提高对服务器的访问速度。通过合理配置,可以灵活应对不同的需求,并提供安全、高性能的代理服务。

保护目标服务器的资源安全:Nginx 反向代理可以隐藏目标服务器的真实 IP 地址和端口,防止恶意用户直接攻击目标服务器。只有 Nginx 反向代理服务器对外可见,从而保护了目标服务器的资源安全。
节省有限的 IP 地址资源:由于 IPv4 地址资源有限,通过使用 Nginx 反向代理,可以将多个后端服务器隐藏在同一个公网 IP 地址后面。这样,可以节省 IP 地址资源并最大限度地提供服务。
提高对服务器的访问速度:Nginx 反向代理可以缓存静态资源,减少后端服务器的负载并提高响应速度。此外,Nginx 使用高效的事件驱动模型,能够处理大量并发连接。通过合理配置和使用,Nginx 反向代理可以提高对服务器的访问速度。
  需要注意的是,具体实现这些好处需要合理配置 Nginx 反向代理。例如,可以设置访问控制规则,限制对目标服务器的访问。另外,缓存配置可以根据业务需求进行定制,以提高响应速度。还可以结合其他模块,如 SSL 模块,通过配置 SSL/TLS 加密,加强对服务器的安全保护。

总结提升
  Nginx 是一个功能强大、性能优越的反向代理服务器,可以实现负载均衡、缓存加速、SSL 终端、安全过滤等功能。通过合理配置和使用,可以提高系统的可用性、安全性和性能。通过使用 Nginx 反向代理,可以保护目标服务器的资源安全,节省有限的 IP 地址资源,并提高对服务器的访问速度。通过合理配置,可以灵活应对不同的需求,并提供安全、高性能的代理服务。
————————————————

相关文章
|
28天前
|
JSON 安全 测试技术
什么是API接口测试?这可能是全网最全的教程了!
API 是应用程序间的“中间人”,用于实现通信和数据交换。随着微服务架构的普及,API 数量激增,其质量对系统稳定性至关重要。API 测试可验证功能、性能与安全性,帮助开发者在部署前发现并修复问题,提升系统可靠性。测试内容包括请求方法、URL、请求头、请求体、响应状态码与响应数据等。常用工具如 Postman、AREX 可辅助测试,确保 API 在不同场景下的正确性与稳定性。
|
3月前
|
缓存 Java 索引
2025 年 Java 面试必备最常见 200 + 面试题及答案解析
这是一份针对Java面试的综合技术方案与应用实例文档,涵盖Java基础(JDK/JRE、字符串、IO流)、容器(ArrayList/LinkedList、HashMap)、多线程(线程创建、同步、线程池)、数据库(MySQL索引、Redis缓存穿透)及Spring框架(IOC容器、热部署)等核心模块。通过详细解析常见面试题,帮助读者深入理解并掌握Java核心技术,为应对面试提供全面指导。此外,还涉及反射、设计模式、JVM调优等进阶内容,助力开发者全面提升技能。代码示例可从提供的链接下载。
572 6
|
19天前
|
人工智能 自然语言处理 安全
大模型备案要点一次过【附材料清单详解】
广东省最新公布一批大模型备案名单,新增14款备案模型、6款登记模型,累计达80款备案、23款登记。文章详解大模型备案流程、周期(5-10个月)、要求(主体资质、数据合规、内容安全、模型完成度)、所需材料(备案表、安全评估报告、服务协议、语料标注规则等)及完整备案流程(初审、自测、提交、整改、终审、公示)。为大模型企业备案提供全面指导。
|
2月前
|
人工智能 大数据 开发者
让AI时代的卓越架构触手可及,阿里云技术解决方案开放免费试用
阿里云推出基于场景的解决方案免费试用活动,新老用户均可领取100点试用点,完成部署还可再领最高100点,相当于一年可获得最高200元云资源。覆盖AI、大数据、互联网应用开发等多个领域,支持热门场景如DeepSeek部署、模型微调等,助力企业和开发者快速验证方案并上云。
2905 122
让AI时代的卓越架构触手可及,阿里云技术解决方案开放免费试用
|
3月前
|
传感器 人工智能 IDE
通义灵码用户说 | 编程智能体+MCP加持,秒查附近蜜雪冰城
通义灵码现已全面支持Qwen3,新增智能体模式,具备自主决策、环境感知、工具使用等能力,可端到端完成编码任务。支持问答、文件编辑、智能体多模式自由切换,结合MCP工具与记忆功能,提升开发效率。AI IDE重构编程流程,让开发更智能高效。
422 20
|
28天前
|
人工智能
|
5月前
|
人工智能 IDE API
10行代码,实现你的专属阿里云OpenAPI MCP Server
本文介绍如何用10行Python代码创建专属阿里云OpenAPI MCP Server。针对传统MCP Server工具固化、开发复杂等问题,提出借助alibaba-cloud-ops-mcp-server实现灵活拓展的方案。通过配置服务与API名称,运行简短代码即可生成支持SSE连接的MCP Server。用户无需深入了解阿里云OpenAPI细节,大幅降低开发门槛。未来将探索通用工具设计,实现固定工具调用任意API,进一步提升灵活性与效率。
|
28天前
|
Python
双指针的变体:滑动窗口与长度最小的子数组问题
滑动窗口是一种高效的双指针技巧,常用于解决数组或字符串中的连续子区间问题。通过维护一个由 left 和 right 指针界定的窗口,动态调整其大小,以寻找满足特定条件的最优解。它常用于求解连续子数组的最值、字符子串判断等,如“长度最小的子数组”、“水果采摘”、“最小覆盖子串”等问题。核心思想是:在满足条件时收缩窗口,在不满足时扩展窗口,结合哈希表等结构维护窗口内状态,从而实现线性时间复杂度 O(n) 的高效求解。掌握滑动窗口的关键在于理解其模板结构,并灵活应对不同题目的状态维护需求。
51 0
|
2月前
|
人工智能 算法 关系型数据库
AI编码不是梦:手把手教你指挥Agent开发需求
AI编码不是梦:手把手教你指挥Agent开发需求
|
2月前
|
数据采集 人工智能 自然语言处理
通义灵码支持 Qwen3-Coder,带你玩转 Agentic Coding,免费不限量
欢迎大家在通义灵码里免费体验最新 Qwen3-Coder 模型,一起 AI Coding。