Haproxy 让后端RS记录真实IP

#让RS记录客户端的真实IP

#1.先在haproxy.cfg中加入下面参数。

listen www
...
option forwardfor               
#如果后端服务器需要获得客户端真实ip需要配置的参数,必须要放在listen模块下

#2.如果是apache,则加入下面参数

LogFormat  “\”%{X-Forwarded-For}i\”%l %t \"%r\" %>s %b \"%{Referer}i\"\"%{User-Agent}i\"" combined
主要是“\”%{X-Forwarded-For}i\ 这个参数可以记录IP

#3.如果是后端RS是nginx则加入下面参数

set_real_ip_from ip;(这个ip填写的是proxy的ip)

real_ip_header X-Forwarded-For;
log_format main ‘$remote_addr – $remote_user [$time_local] “$request” ‘ 
                ‘$status $body_bytes_sent “$http_referer” ‘ 
                ‘”$http_user_agent” “$http_x_forwarded_for”‘
=============================================
在log_format里添加$remote_addr或者$http_x_forwarded_for参数。
时间: 2024-08-06 20:03:58

Haproxy 让后端RS记录真实IP的相关文章

前端nginx代理服务器,后端tomcat记录真实IP

nginx+tomcat这种架构,如果后端tomcat配置保持默认,那么tomcat的访问日志里,记录的就是前端nginx的IP地址,而不是真实的访问IP.业务需求,需要对nginx.tomcat做如下配置: 1)nginx配置 ...... proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_fo

nginx前端负载,后端apache获取真实IP设置

原文链接: nginx前端负载,后端apache获取真实IP设置 参考文献: 前端Nginx,后端Apache获取用户真实IP地址  按照第二种方法设置不成功! 网站最前端是nginx,做的PROXY来转发请求到后端的apache上,所以获取的IP 都是NGINX PROXY 机器的IP,这对于分析和记录apache日志等很多基于IP判断的PHP程序都会出现一系列的问题,经过以下两处理便可让apache获取 正式的访问地址:1.修改NGINX的配置文件NGINX.CONF 在里面加上 proxy

获取用户真实IP:(模拟:客户端--F5--nginx--tomcat 后端获取用户真实IP)

模拟:客户端--F5--nginx--tomcat 后端获取用户真实IP 192.168.109.137 :nginx01(充当第一层代理==F5)192.168.109.138 :nginx02(二层代理,业务转发)192.168.109.139 :tomcat (后端业务层) 192.168.109.1 :客户端IP ----------------------------------------------------------------------------------------

解决haproxy代理nginx获取客户端真实ip问题

问题背景: 我们公司之前由于DDOS攻击导致网络出口受影响,经过了解,流量进入亚马逊是不收钱的,而且不限流量,为了加强防范网络攻击对业务造成影响,在亚马逊部署一套haproxy代理,把部分业务迁移试用. 为了使用nginx能获取到客户端的ip地址,在haproxy中配置option httpclose和option forwardfor,nginx配置set_real_ip_from x.x.x.x;和real_ip_header X-Forwarded-For;(其中x.x.x.x是hapro

nginx代理,tomcat部署服务器,后端获取客户端真实ip

1.环境部署说明 后端部署在tomcat服务器上,前端用nginx做代理访问 tomcat部署目录 nginx配置: upstream wcfront{     server  localhost:8991;//后台接口 } server {     listen       8998;//h5访问接口     server_name  192.168.2.37;     charset utf-8;     proxy_set_header Host $host:$server_port;  

【 Tomcat 】后端tomcat获取真实IP

环境: nginx + tomcat nginx.conf 配置: proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_pass http://backend_tomcat; tomat server.conf配置: <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs&q

nginx反向代理 后端apache获取真实ip方式

系统环境为 centos6.4 64位 nginx配置: 在server中加入 - proxy_set_header Host $host; proxy_set_header X-Forwarded-For $remote_addr; - 后端apache为yum安装方式: 在网上查找apache需要第三方的模块来获取真实的客户ip 网上给的下载地址用不了只能另辟新径 安装rpaf 我是rpm安装的 别的方式可以自行查找 方法如下 rpm -ivh ftp://ftp.pbone.net/mir

nginx负载均衡后端RS中获取真实ip

前端proxy配置 #################### worker_processes  1; events { worker_connections  1024; } http { include       mime.types; default_type  application/octet-stream; sendfile        on; keepalive_timeout  65; upstream backend { server 10.0.0.3:80    max_

C#取真实IP地址及分析

*********本人从CSDN上找到的,感觉很有用,就摘过来了************** 目前网上流行的所谓"取真实IP地址"的方法,都有bug,没有考虑到多层透明代理的情况. 多数代码类似: string IpAddress = (HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"]!=null && HttpContext.Current.Request.Ser