1. 安装 Nginx确保系统中已经安装了 Nginx。
2. 编辑配置文件通常情况下,你需要编辑 /etc/nginx/nginx.conf 或者位于 /etc/nginx/sites-available/ 目录下的特定站点配置文件。以下是一个基本的反向代理配置示例
nginx
http {
服务器块定义
server {
监听端口
listen 80;
服务器名称,可以是域名或IP地址
server_name yourdomain.com;
定位到特定的路径,这里拦截所有以 /api/ 开头的请求
location /api/ {
设置代理服务器,即后端服务器的地址
proxy_pass http://backend_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;
proxy_set_header X-Forwarded-Proto $scheme;
其他可能的代理设置,如超时时间等
proxy_connect_timeout 90s;
proxy_send_timeout 90s;
proxy_read_timeout 90s;
如果需要,可以设置代理缓存等
proxy_cache_path /path/to/cache levels=1:2 keys_zone=my_cache:10m max_size=10g
inactive=60m use_temp_path=off;
proxy_cache my_cache;
proxy_cache_valid 200 302 60m;
proxy_cache_valid 404 1m;
}
其他location块和配置...
}
可以在这里定义upstream,如果你的后端有多个服务器需要负载均衡
upstream backend_server {
server backend1.example.com;
server backend2.example.com;
其他服务器和负载均衡配置...
}
}
以下是具体步骤
1. 定义服务器块(server)在 http 块内定义一个 server 块,指定监听的端口和服务器名称。
2. 设置 location在 server 块内,使用 location 指令来匹配特定的请求路径。通常,你会为需要反向代理的路径设置一个 location。
3. 配置代理传递(proxy_pass)在 location 块内使用 proxy_pass 指令设置后端服务器的地址。
4. 设置请求头(proxy_set_header)为了让后端服务器能够获取到客户端的原始信息,你可能需要设置一些请求头,例如 Host、X-Real-IP、X-Forwarded-For 和 X-Forwarded-Proto。
5. 配置超时(proxy_connect_timeout、proxy_send_timeout、proxy_read_timeout)这些指令用于设置连接、发送和读取数据的超时时间。
6. (可选)配置负载均衡如果你有多个后端服务器,可以在 http 块中使用 upstream 指令来定义它们,并在 proxy_pass 指令中使用 upstream 的名称。
7. (可选)配置缓存如果你需要,可以配置代理缓存来存储常用响应。
8. 测试配置在重新加载 Nginx 配置之前,使用命令 nginx -t 来测试配置文件的正确性。
9. 应用配置使用命令 nginx -s reload 来应用新的配置或者重新启动 Nginx。
确保你根据自己的实际需求修改示例中的 yourdomain.com、/api/ 和 http://backend_server 等占位符。