当前位置: 首页 > article >正文

Nginx核心功能

目录

  • 前言
    • 一. 正向代理
      • 1.配置正向代理
        • (1)添加正向代理
        • (2)验证正向代理
    • 二. 反向代理
      • 1.配置nginx七层代理
        • (1)环境安装
        • (2)配置nginx七层代理转发
        • (3)测试
      • 2. 配置nginx四层代理
        • (1)配置四层代理
        • (2)验证四层代理

前言

Nginx作为一款高性能的开源Web服务器和反向代理工具,凭借其轻量级、高并发处理能力和灵活的模块化设计,已成为现代Web架构的基石。从全球顶尖网站到微服务架构,Nginx在负载均衡、缓存加速、安全防护等场景中扮演着关键角色

一. 正向代理

正向代理(Forward Proxy)是一种位于客户端和原始服务器之间的代理服务器,其主要作用是将客户端的请求转发给目标服务器,并将响应返回给客户端

Nginx 的 正向代理 充当客户端的“中间人”,代表用户访问外部资源并隐藏真实 IP。它是企业内网管控、安全审计与加速访问的核心工具。用于场景一般是:

  • 内网访问控制:限制员工访问特定网站(如社交媒体)

  • 匿名访问:通过代理服务器隐藏用户真实身份

  • 资源缓存加速:缓存公共资源(如软件包、镜像文件),减少外网带宽消耗

在这里插入图片描述

1.配置正向代理

(1)添加正向代理
[root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf

在这里插入图片描述
在这里插入图片描述

[root@localhost ~]#nginx -t
[root@localhost ~]#systemctl restart nginx
(2)验证正向代理

在Windos中验证:

在这里插入图片描述
在这里插入图片描述

在Liunx中验证:

在这里插入图片描述

通过实时查看nginx的访问日志,可以看到Windows下设置代理IP和端口后,本地电脑访问的所有网页会通过代理服务器进行访问网页,实现了正向代理的功能,并且隐藏了用户自己真实的IP

在101主机查看日志:

[root@localhost ~]# cat /usr/local/nginx/logs/access.log

在这里插入图片描述

二. 反向代理

Nginx 的七层(应用层)反向代理基于 HTTP/HTTPS 协议,深度解析应用层内容(如 URL、Header、Cookie),将客户端请求精准转发至后端服务器。作为企业级架构的“智能调度器”,它实现了负载均衡、安全隔离与性能优化的核心能力。应用场景一般是:

  • 负载均衡:将流量分发至多台后端服务器,避免单点故障

  • 动静分离:静态资源(图片、CSS/JS)由 Nginx 直接响应,动态请求(PHP、API)转发至 Apache/Tomcat

  • SSL 终端:统一处理 HTTPS 加密/解密,降低后端服务器计算压力

  • 灰度发布:根据请求特征(如 IP、Header)将部分流量导向新版本服务。

Nginx 的四层(网络层)反向代理基于 TCP/UDP 协议,直接转发原始数据流,不解析应用层内容。它专为高性能、低延迟的传输层场景设计,是数据库、游戏服务器等非 HTTP 服务的理想选择。应用场景一般是:

  • 数据库代理:对外暴露统一端口,内部转发至 MySQL、Redis 集群。

  • 游戏服务器:代理 UDP 协议,实现实时数据包负载均衡。

  • SSH 跳板机:通过端口映射安全访问内网服务器。

  • 高可用服务:TCP 服务(如 MQTT)的主备切换与健康检查。

在这里插入图片描述

反向代理,指的是浏览器/客户端并不知道自己要访问具体哪台目标服务器,只知道去访问代理服务器 ,代理服务器再通过反向代理 +负载均衡实现请求分发到应用服务器的一种代理服务。

反向代理服务的特点是代理服务器代理的对象是应用服务器,也就是对于浏览器/客户端来说应用服务器是隐藏的。

1.配置nginx七层代理

通过配置nginx七层代理实现转发nginx请求至后端的httpd服务

(1)环境安装

在102主机操作:

在这里插入图片描述

在103主机操作:

在这里插入图片描述

添加测试网站

在这里插入图片描述
在这里插入图片描述

(2)配置nginx七层代理转发

101主机操作:

[root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf

在这里插入图片描述
在这里插入图片描述

[root@localhost ~]#nginx -t
[root@localhost ~]#systemctl restart nginx
(3)测试

在这里插入图片描述

2. 配置nginx四层代理

SSH协议是基于TCP协议的,配置nginx的四层代理,实现代理ssh请求至后端服务器,用以登录内网服务器场景

(1)配置四层代理

在101主机上操作:

[root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf

在这里插入图片描述

在这里插入图片描述

(2)验证四层代理

在这里插入图片描述
通过上面的验证发现,通过101的2222端口登录后,实际上是登录到102服务器

http://www.lryc.cn/news/2385703.html

相关文章:

  • AG-UI:重构AI代理与前端交互的下一代协议标准
  • upload-labs通关笔记-第15关 文件上传之图片马getimagesize绕过
  • FFmpeg中使用Android Content协议打开文件设备
  • SQL语句的执行流程
  • Spring 框架的JDBC 模板技术
  • 【游戏设计】游戏玩法与游戏机制
  • Spring的资源Resource和ResourceLoader
  • 字节跳动旗下火山引擎都覆盖哪些领域
  • 【AI实战】从“苦AI”到“爽AI”:Magentic-UI 把“人类-多智能体协作”玩明白了!
  • LeetCode面试经典150题梳理
  • ABP VNext + Orleans:Actor 模型下的分布式状态管理最佳实践
  • Linux之 SPI 驱动框架- spi-mem 框架
  • 振动分析 - 献个宝
  • 从脑电图和大脑记录中学习稳健的深度视觉表征
  • 【论文阅读】——D^3-Human: Dynamic Disentangled Digital Human from Monocular Vi
  • 高分辨率北半球多年冻土数据集(2000-2016)
  • Prompt Tuning:轻量级大模型微调全攻略
  • 【VBA 字典的引用和调用方法】
  • 基于开源AI智能名片链动2+1模式S2B2C商城小程序的管理与运营策略研究
  • 储能电站:风光储一体化能源中心数字孪生
  • iOS 直播特殊礼物特效实现方案(Swift实现,超详细!)
  • 9. 现代循环神经网络
  • 视频太大?用魔影工厂压缩并转MP4,画质不打折!
  • Python中tqdm进度条工具和enumerate函数的使用详解
  • 最宽温度范围文本格式PT1000分度表-200~850度及PT1000铂电阻温度传感器计算公式
  • 基于Netty架构的充电桩系统设计:服务器运维如何更好保障稳定性?
  • 操作系统学习笔记第1章 操作系统概述(灰灰题库
  • 后端开发实习生-抖音生活服务
  • 机器学习算法-sklearn源起
  • Keepalived 在不同场景下的高可用方案设计与最佳实践