tengine获取后端真实IP

服务器是用的阿里云

SLB也是的。

发现日志全是10.158的地址。

根据建议,需要安装模块--with-http_realip_module

那么我就先停止nginx

然后编译,在编译参数后面添加--with-http_realip_module就可以了。

修改Nginx日志格式

vi nginx.conf

log_format  main  ‘realip:$http_x_forwarded_for slbip:$remote_addr - $remote_user [$time_local] "$request" ‘

‘$status $body_bytes_sent "$http_referer" ‘

‘"$http_user_agent"‘;

启动Nginx

查看日志

tail -f access.log

realip:183.14.164.91 slbip:10.158.18.11 - - [13/Aug/2015:17:44:26 +0800] "GET /touxiang/counterman_367131.jpg HTTP/1.0" 404 618 "-" "-"

另外一台服务器,虽然没有安装那个模块,但是修改日志格式之后,还是可以获取后端真实IP的。

日志后来我对比了一下,安装了模块的,获取率要高于没有安装模块的。

时间: 2024-08-02 15:14:47

tengine获取后端真实IP的相关文章

nginx在varnish后端做负载均衡,后端tomca获取客户端真实IP

nginx在varnish后端做负载均衡,后端tomca获取客户端真实IP 1.设置nginx配置文件    首先要确定nginx做负载均衡,在安装时把http_realip_module 安装上了.    查看方法: /usr/local/nginx/sbin/nginx -V   配置nginx.conf    vim /usr/local/nginx/conf/nginx.conf   加入 set_real_ip_from 192.168.88.131;      重新加载nginx:

前端Nginx,后端Apache获取用户真实IP地址

Nginx作为前端,Apache作为后端的情况下,Apache只能获取到Nginx前端的内网ip地址(10.10.0.*),而无法获取到用户的真实ip地址,在这种情况下,后端是Apache如何获取用户真实IP地址? nginx 关键配置 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

获取用户真实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 ----------------------------------------------------------------------------------------

Tomcat中获取客户端真实IP及协议

获取客户端真实IP ServletRequest接口提供了getRemoteAddr方法用于获取客户端IP,但是当客户端通过代理服务器访问后端服务器的时候,服务器调用getRemoteAddr方法会返回最近的代理服务器的IP而非客户端真实IP.这种情况下通常是使用X-Forwarded-For请求头来获取客户端真实IP. X-Forwarded-For简称XFF头,它保存了客户端和各级代理服务器的IP,只有在通过了HTTP正向代理服务器或者反向代理服务器时才会添加该项,一般格式如下:X-Forw

asp网络编程:ASP如何获取客户端真实IP地址

要想透过代理服务器取得客户端的真实IP地址,就要使用 Request.ServerVariables("HTTP_X_FORWARDED_FOR") 来读取.不过要注意的事,并不是每个代理服务器都能用 Request.ServerVariables("HTTP_X_FORWARDED_FOR") 来读取客户端的真实 IP,有些用此方法读取到的仍然是代理服务器的IP.还有一点需要注意的是:如果客户端没有通过代理服务器来访问,那么用 Request.ServerVari

PHP获取用户真实IP地址

PHP获取客户端真实IP地址方法 在PHP获取客户端IP中常使用 $_SERVER["REMOTE_ADDR"] . (1) 但如果客户端是使用代理服务器来访问,那取到的是代理服务器的 IP 地址,而不是真正的客户端 IP 地址.要想透过代理服务器取得客户端的真实 IP 地址,就要使用 $_SERVER["HTTP_X_FORWARDED_FOR"] 来读取. (2) 但只有客户端使用“透明代理”的情况下,$_SERVER["HTTP_X_FORWARDE

java 获取用户真实ip

/** * 获取用户真实ip * @param request * @return */ public static String getIpAddr(HttpServletRequest request){ String ip = request.getHeader("x-forwarded-for"); if ((ip == null) || (ip.length() == 0) || ("unknown".equalsIgnoreCase(ip))) { ip

获取客户端真实ip

1 // 获取客户端真实ip() 2 protected function getIP() 3 { 4 global $ip; 5 if (getenv("HTTP_CLIENT_IP")) 6 $ip = getenv("HTTP_CLIENT_IP"); 7 else if(getenv("HTTP_X_FORWARDED_FOR")) 8 $ip = getenv("HTTP_X_FORWARDED_FOR"); 9 e

获取客户端真实IP地址

1.需要引入log4j-1.2.14.jar package org.ydd.test; import java.util.Enumeration; import javax.servlet.http.HttpServletRequest; import org.apache.log4j.Logger; /** * @author coco * @version * 获取IP4 */ public class IP4 { private static final Logger log = Log