使用了cdn加速,nginx还能记录蜘蛛的真实IP吗?
发现使用CDN加速后,蜘蛛的IP会被一些记录成一些节点的IP。但这个确实是真的蜘蛛。
如何设置nginx,能确保记录正确的蜘蛛IP呢?
1楼(未知网友)
可以要求CDN服务商转发用户IP过来
2楼(匿名用户)
可以让CDN服务商发过来
3楼(未知网友)
X-Forwarded-For (XFF) 是一种HTTP 头部标准,可以用来识别原始客户端的真实IP地址。当我们的网站使用CDN后,XFF就可以帮助网站源看到真实的原始IP,而不是加速节点的IP地址了。
关于X-Forwarded-For
如果没有 XFF 或其他类似技术的帮助,使用了CDN的网站源只能看到CDN节点的IP地址,得不到真实的客户端IP信息,这样客户相当于匿名访问了。若CDN后端的客户进行滥用或发布违规信息,我们无法进行排除。
如果客户请求是要通过代理链,最终客户端IP将总是在左边的第一个。客户IP、CDN节点将被连接起来是这样的:
X-Forwarded-For: client, proxy1, proxy2
4楼(未知网友)
不同地区的搜索引擎爬虫蜘蛛是不同的。比如网站服务器在北京,但CDN加速节点在广东,广东的蜘蛛就会优先抓取网站,这对网站没有什么影响,但会提高搜索引擎蜘蛛抓取效率。
5楼(未知网友)
如果CDN的 HTTP 代理协议实现的比较好,在CDN发送的HTTP request header 中可能会有“X-Real-Ip” 或 “X-Forwarded-For”字段,这个字段记录了用户的真实IP。
6楼(未知网友)
让你使用的CDN厂商提供访问日志给你,正规的CDN厂商一般都提供的。
类似于X-Forwarded-For等HTTP头确实可以带客户端IP过来,但是那是MISS回源的情况,当在CDN上命中的时候,是不会发HTTP请求到你的后端服务器的,所以这种情况下后端服务器根本就没有日志产生。