discuzx3.5使用百度云加速CDN如何获取访问用户的真实IP的解决办法
问:如何获取访问用户的真实IP呢?
答:为解决这个问题,可以通过在云加速转发的HTTP头信息中增加 X-Forwarded-For 信息,用于记录客户端的真实IP,这时web服务器的日志就可以使用 $http_x_forwarded_for变量记录远程客户端的真实IP。格式如下:
Nginx
- '$http_x_forwarded_for - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" ';
Apache
- LogFormat "%{X-Forwarded-For}i %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i""
- Request.ServerVariables("HTTP_X_FORWARDED_FOR")
- $_SERVER["HTTP_X_FORWARDED_FOR"]
- request.getHeader("HTTP_X_FORWARDED_FOR")
已经接入云加速的用户,可以修改配置的方式,从日志中获取用户的真实IP,以便了解用户的访问情况。