在 OpenResty 中,要将客户端的真实 IP 地址转发给后端服务器,可以使用 ngx_http_realip_module
模块来实现。
首先,在 Nginx 配置文件中添加以下指令启用 ngx_http_realip_module
模块:
http {
...
# 启用 ngx_http_realip_module 模块
real_ip_header X-Forwarded-For;
set_real_ip_from 0.0.0.0/0;
...
}
接下来,配置反向代理部分,将客户端请求转发到后端服务器。示例如下:
http {
...
server {
listen 80;
server_name example.com;
location / {
# 将客户端真实 IP 转发给后端服务器
set $real_ip $remote_addr;
real_ip_recursive on;
proxy_pass http://backend_server;
}
...
}
upstream backend_server {
server backend1.example.com;
server backend2.example.com;
# 添加其他后端服务器
}
...
}
这样配置之后,当 OpenResty 接收到客户端请求时,会将客户端的真实 IP 地址放入 X-Forwarded-For
头部,并通过反向代理将该头部传递给后端服务器。后端服务器就能获取到客户端的真实 IP 地址了。
内容由零声教学AI助手提供,问题来源于学员提问