Nginx核心功能

一. 正向代理

正向代理(Forward Proxy)是一种位于客户端和原始服务器之间的代理服务器,其主要作用是将客户端的请求转发给目标服务器,并将响应返回给客户端Nginx 的 正向代理 充当客户端的"中间人",代表用户访问外部资源并隐藏真实 IP。它是企业内网管控、安全审计与加速访问的核心工具。用于场景一般是:

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

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

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

1.编译安装 Nginx

(1)安装支持软件

Nginx 的配置及运行需要 pcre、zlib 等软件包的支持,因此应预先安装这些软件的开发包(deve1),以便提供相应的库和头文件,确保 Nginx 的安装顺利完成。

(2)创建运行用户、组和日志目录

Nginx 服务程序默认以 nobody 身份运行,建议为其创建专门的用户账号,以便更准确地控制其访问权限,增加灵活性、降低安全风险。例如,创建一个名为nginx 的用户,不建立宿主文件夹,也禁止登录到 Shell 环境。

(3)编译安装 Nginx

配置Nginx的编译选项时,将安装目录设为/usr/local/nginx,运行用户和组均设为nginx;启用 http stub_status module 模块以支持状态统计,便于査看服务器的连接信息。具体选项根据实际需要来定,配置前可参考"./configure --help"给出的说明。

(4)添加 Nginx 系统服务

为了使 Nginx 服务的启动、停止、重载等操作更加方便,可以编写 Nginx 服务脚本,并使用 chkconfig 和 systemctl 工具来进行管理。

2.配置正向代理

(1)编辑主配置文件添加正向代理相关配置:
(2)验证正向代理:

Windows中验证,使用火狐浏览器,设置http和https代理即可:

Linux中验证,使用curl命令,并指定代理服务器进行访问测试

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

二.反向代理

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七层代理

(1)环境安装
(2)配置nginx七层代理转发

上述配置中,使用upstream定义后端应用服务器的地址池"backend",在location块中,使用proxy pass,转发请求至后端地址池,proxy set header Host host:将请求中的Host头部设置为客户端请求的主机名,proxy set header X-Real-IP remote addr:将请求中的 X-Real-IP 头部设置为客户端的真实 IP 地址。

(3)验证转发效果

2.配置nginx四层代理

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

(1)配置四层代理

192.168.10.101上操作:

(2)验证四层代理

相关推荐
我是谁??4 小时前
Ubuntu22.04更换清华源
linux·运维·服务器
上海安当技术4 小时前
固件签名与Secure Boot:安当CAS如何构建汽车固件信任链
网络·汽车·信任链·boot·secure·固件签名·安当cas
圣殿骑士-Khtangc5 小时前
Go字符串高效拼接性能对比与底层原理分析
服务器·前端·golang
上海安当技术5 小时前
诊断接入认证:安当CAS如何堵住汽车网络安全的物理后门
网络·web安全·汽车·access·secure·安当cas·诊断接入认证
ze^05 小时前
【软考信息安全】第2章 网络攻击原理与常用方法
网络·web安全·网络安全
Kendra9195 小时前
从 0 到上线:单文件网页 App 部署到阿里云 ECS 全流程(Nginx+Node+PM2+PostgreSQL)
nginx·阿里云·云计算·部署·个人开发·今天吃什么
这个DBA有点耶6 小时前
数据库一体机架构演进:从硬件堆叠到软硬深度耦合
服务器·网络·数据库·硬件架构·运维开发·database·数据库架构
arbboter6 小时前
【网络工具】NetProxy网络代理用户手册
开发语言·网络·c#·网络代理·网络异常·代理工具
测试运维日常笔记6 小时前
Linux系统安装配置TigerVNC服务器完整指南
linux·运维·服务器
像风一样自由20206 小时前
加强版VScode结合remote-ssh远程连接服务器开发指南
服务器·vscode·ssh