Nginx:正向代理与反向代理

在计算机网络中,代理服务器是一种充当客户端和服务器之间中介的服务器。根据代理服务器的不同配置和工作方式,可以分为正向代理(Forward Proxy)和反向代理(Reverse Proxy)。下面分别解释这两种代理的工作原理和特点。

1、正向代理(Forward Proxy)

‌定义与工作原理:‌

正向代理通常位于客户端和目标服务器之间,代表客户端进行请求。客户端通过配置使用正向代理服务器来访问外部网络资源。正向代理隐藏了客户端的真实IP地址,使得客户端能够以匿名或绕过某些网络限制的方式访问互联网。

‌应用场景:‌

访问被限制的内容(如某些地区的网站)。

绕过防火墙。

提高访问速度,通过缓存常用数据。

‌配置示例(使用Nginx作为正向代理):‌

‌修改Nginx配置文件‌ (nginx.conf):

http {

server {

listen 8080; # 监听端口

location / {

proxy_pass http://your_actual_server; # 目标服务器地址

proxy_set_header Host $host;

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

}

}

}

在这个配置中,Nginx监听8080端口,并将所有请求转发到your_actual_server。

‌重启Nginx服务‌:

sudo systemctl restart nginx

2、反向代理(Reverse Proxy)

‌定义与工作原理:‌

反向代理服务器位于客户端和实际服务器之间,代表服务器接收客户端的请求,并将请求转发到适当的后端服务器。反向代理隐藏了后端服务器的真实IP地址,增强了服务器的安全性和灵活性。

‌应用场景:‌

负载均衡,将请求分散到多个服务器上。

提高网站安全性,隐藏服务器内部结构。

缓存常用数据,加快访问速度。

SSL终止(HTTPS加密),减轻后端服务器的负担。

‌配置示例(使用Nginx作为反向代理):‌

‌修改Nginx配置文件‌ (nginx.conf):

http {

upstream backend {

server backend1.example.com; # 后端服务器1

server backend2.example.com; # 后端服务器2

}

server {

listen 80; # 监听端口,通常是HTTP默认端口80

location / {

proxy_pass http://backend; # 转发请求到后端服务器组

proxy_set_header Host $host;

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_set_header X-Forwarded-Proto $scheme; # 如果是HTTPS,则为https

}

}

}

在这个配置中,Nginx将所有到达80端口的请求转发到backend这个upstream组,该组包括了多个后端服务器。

‌重启Nginx服务‌:

sudo systemctl restart nginx

通过这样的配置,Nginx既可以作为正向代理也可以作为反向代理使用,具体取决于其配置和用途。在实际应用中,通常会根据具体需求选择合适的代理类型进行配置。

相关推荐
江华森6 小时前
Spring Cloud 微服务全栈实战:从 Eureka 到 Docker Compose 一文贯通
运维
江华森6 小时前
Matplotlib 数据绘图基础入门
运维
江华森6 小时前
NumPy 数值计算基础入门
运维
乘云数字DATABUFF4 天前
5分钟部署开源APM Databuff:OpenTelemetry全链路追踪入门实战
运维·后端
荣--6 天前
一键部署不是为了省时间 —— 它是把"买来的 PaaS"变成"自己的平台"的拐点
运维·zabbix·工程化·一键部署·平台化·边界设计
江华森6 天前
动手实战学 Docker — 从零到集群编排完全指南
运维
Avan_菜菜7 天前
FRP 内网穿透完整实战:从 HTTP 映射到 HTTPS 自签代理
运维·nginx·https
SelectDB8 天前
Litefuse 开源并推出单进程轻量模式,25 秒就能跑起来的 Agent 可观测与评估平台
运维·后端·自动化运维
XIAOHEZIcode9 天前
Linux系统鼠标偏移常见原因以及修复方案
linux·运维·游戏
用户03284722207010 天前
如何搭建本地yum源(上)
运维