使用百度CDN后apache無法獲取真實IP問題解決

時間:2019/10/11 21:28:01,點擊:0

本站開啟了百度CDN,開啟固然有一定好處的,但是開啟之后帶來了新的問題

apache的access.log無法得到用戶的真實IP,因為百度cdn將用戶的IP隱藏,你得到的只是百度的CDN節點的IP

百度CDN的IP列表:https://ticket-baidu.kf5.com/posts/view/148628/

對于這個問題,百度了一下,沒有找到非常好用的,也有類似的解決方法,但是測試了下沒成功!

專門給百度CDN提交了工單,他們工程師回復如下

您好,您可以通過如下方式查看真實IP:為解決這個問題,可以通過在云加速轉發的HTTP頭信息中增加 X-Forwarded-For 信息,用于記錄客戶端的真實IP,這時web服務器的日志就可以使用 $http_x_forwarded_for變量記錄遠程客戶端的真實IP。格式如下:
Apache添加LogFormat:

LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combinedbaiducdn

ASP

Request.ServerVariables("HTTP_X_FORWARDED_FOR")

PHP

$_SERVER["HTTP_X_FORWARDED_FOR"]

JSP

request.getHeader("HTTP_X_FORWARDED_FOR")





我是使用apache作為服務器的,就按照上面的信息添加新的LogFormat,

在VirtualHost中添加或修改


CustomLog logs/openwrtdl-access-cdn.log combinedbaiducdn

測試了下,終于OK了!

打印 | 關閉

新疆18选7开奖公告 黑龙江快乐十分推荐号码 36选7开奖好彩1 3d试机号今天晚上金码10期 幸运飞艇官方推荐网址 广东36选7怎么算中奖 合肥定盘星配资公司 快3彩票软件 四肖期期中准四肖精准期期 股票怎么玩才能赚钱 体彩江苏11 选5一等奖 玩法双色球开奖结果 炒股怎么配资 pk10直播开奖赛车链接 一头中特四大天王 炒股票新手入门 河北省11选五遗漏