需要获得用户真实的 IP 地址 目前使用 request.remote_ip 但是从 CDN 的入口进去后获取到的 ip 属于 CDN 的 IP。
谢谢
如果真的是 CDN 的请求,根本就不会到你的服务器上去。 弄个 ajax 吧
能用 remote ip 拿到的,都只是反向代理,CDN 是直接传输相应节点上缓存内容给用户的。
cdn 不是只针对静态文件的吗,动态的东西还是走服务器,走了服务器不就自动是真实 ip 了? rails remote ip 模块可以拿到真实地址的啊?还是因为你 cdn 的域名设置有问题,和主域名一样了?还是你的网站首页也 cdn 了?
通过x-forwarded-for头可以获取到,一般提供商都支持的。
#1 楼 @ywencn #2 楼 @kgen #3 楼 @linjunhalida #4 楼 @mojidong
谢谢。我想是我自己搞错了。用的是 ORCA.io 不清楚算 CDN 还是反向代理。
通常可以要求 CDN 服务商转发客户端 IP 过来,就像@mojidong 说的通过 x-forwarded-for
#6 楼 @suupic #4 楼 @mojidong
谢谢。这个方法解决了。
你这个代码还在么?能接我看看么