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既可以作为正向代理也可以作为反向代理使用,具体取决于其配置和用途。在实际应用中,通常会根据具体需求选择合适的代理类型进行配置。

相关推荐
HiDev_36 分钟前
【非标自动化】2、认识元器件(固态继电器)
运维·自动化
明达智控技术42 分钟前
国产 PLC 落地立库自动化,MC5000边缘智能控制器破局
运维·自动化
小绫网络安全1 小时前
Kali Linux渗透测试入门教程:从零搭建到实战攻防
linux·运维·服务器
西安景驰电子1 小时前
《PTP精确时间协议系列》第一篇:从原理到应用,全面解读IEEE 1588
linux·运维·服务器·开发语言·网络·windows·php
云原生指北3 小时前
Docker Sandboxes 上手:从安装到第一次跑 Agent
运维·docker·容器
小马同学-3 小时前
高可用-Keepalived全解析
linux·运维
ziyun6668884 小时前
Docker 容器化 Web 服务架构搭建与自动化运维项目
运维·docker·架构
梦想的旅途24 小时前
企微 API 二次开发:利用 AI Agent 实现自动化运维
运维·人工智能·企业微信
安科瑞-小李5 小时前
铁路智能运维进化路线:自动化→状态可视→预测维护
运维·自动化·数据采集·能耗可视化
酷可达拉斯5 小时前
自动化运维-Ansible任务控制与流程控制
运维·自动化·ansible