网站接入Web应用防火墙WAF(Web Application Firewall)后,访问请求在到达源站服务器之前,需要经过WAF的代理转发。这种情况下,源站服务器可以通过解析回源请求中的X-Forwarded-For记录,获取客户端的真实IP。
背景信息
WAF在将客户端的访问请求转发到下一环节的服务器时,会在HTTP的请求头中添加一条X-Forwarded-For记录,用于记录客户端的IP,格式为X-Forwarded-For:客户端IP。如果客户端和源站服务器之间有多个代理服务器(例如WAF、DDoS高防、CDN等),则X-Forwarded-For记录使用以下格式记录客户端IP和依次经过的代理服务器IP:X-Forwarded-For:客户端IP
, 代理服务器1的IP, 代理服务器2的IP, 代理服务器3的IP, ……。
因此,常见的Web应用服务器(包括Nginx、IIS 6、IIS 7、Apache、Tomcat)以及容器K8s可以通过解析X-Forwarded-For记录获取客户端真实IP。
Nginx配置方案
Nginx服务器使用http_realip_module
模块解析X-Forwarded-For
记录。安装http_realip_module
模块,修改Nginx配置。文章来源:https://www.toymoban.com/news/detail-407424.html
1.安装http_realip_module模块。
在Nginx服务器上执行# nginx -V | grep http_realip_module
命令,查看是否已安装http_realip_module
模块。文章来源地址https://www.toymoban.com/news/detail-407424.html
到了这里,关于nginx 获取客户端真实IP的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!