Nginx 反向代理
什么是Nginx反向代理?
Nginx反向代理是一种服务器配置方式,它允许Nginx服务器接收客户端的请求,并将这些请求转发到后端服务器。反向代理的主要作用是隐藏后端服务器的真实IP地址,同时提供负载均衡、缓存、SSL终止等功能。
备注
反向代理 vs 正向代理
- 正向代理:代理客户端,隐藏客户端的真实IP地址。
- 反向代理:代理服务器,隐藏后端服务器的真实IP地址。
为什么使用Nginx反向代理?
使用Nginx反向代理有以下几个好处:
- 负载均衡:将请求分发到多个后端服务器,避免单点故障。
- 安全性:隐藏后端服务器的真实IP地址,防止直接攻击。
- 性能优化:通过缓存静态资源,减少后端服务器的负载。
- SSL终止:在Nginx上处理SSL/TLS加密,减轻后端服务器的负担。
如何配置Nginx反向代理?
1. 安装Nginx
首先,确保你已经安装了Nginx。如果没有安装,可以使用以下命令:
sudo apt update
sudo apt install nginx
2. 配置反向代理
编辑Nginx的配置文件(通常位于 /etc/nginx/nginx.conf
或 /etc/nginx/sites-available/default
),添加以下内容:
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://backend_server_ip:backend_port;
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;
}
}
提示
proxy_pass
:指定后端服务器的地址和端口。proxy_set_header
:设置请求头,确保后端服务器能够获取客户端的真实IP地址等信息。
3. 重启Nginx
保存配置文件后,重启Nginx以应用更改:
sudo systemctl restart nginx