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

相关推荐
小义_16 小时前
【Docker】知识四
linux·运维·docker·容器
小志biubiu16 小时前
Linux_进程概念(A)-进程部分【Ubuntu】
linux·运维·服务器·ubuntu·操作系统·进程
普通网友16 小时前
Ubuntu 入门及安装全指南
linux·运维·ubuntu
冷雨夜中漫步16 小时前
DockerDesktop打包docker镜像时报错
运维·docker·容器
xdpcxq102917 小时前
嵌入式Linux手动交叉编译
linux·运维·服务器
Web极客码17 小时前
WordPress 被重定向到垃圾站的排查全过程
运维·服务器·网络·wordpress
ideal-cs17 小时前
总结:Nginx配置文件案例说明
java·运维·nginx·nginx配置文件
2301_8049475817 小时前
keepalived
运维
花间相见17 小时前
【Ubuntu实用工具】—— Gnome拓展管理器及实用拓展
linux·运维·ubuntu
旭日跑马踏云飞18 小时前
【Nginx】相关优化
运维·javascript·nginx