我正在开发Ruby on Rails应用程序。
Gravatar在中国被封锁,我们拥有大量用户。这意味着如果您从应用程序中的gravatar网站上撤下,那么您的网站将会崩溃/不会加载到中国的任何人。
所以我有两个选择:
解决方法#1是使用类似cloudflare的CDN,我可以用它来服务Gravatars。如果这样的东西是即插即用的话会很棒,它也会提高性能。
解决方法#2是根据中国人的IP地址从中国的数字镜像中提取任何人。
解决方法#3是使用Gravatar Ultimate gem缓存图像,该gem使用ActiveSupport :: Cache :: SynchronizedMemoryStore.new(https://github.com/sinisterchipmunk/gravatar)。我不确定这是否适用于数以万计的日常用户。
解决方法#4是在浏览器中以某种方式检测Gravatar的失败,以及它是否无法显示默认(非基于图像)的头像。如果它在第一次尝试之后为所有头像做到这一点,或者记住并记住后续尝试,那将会很棒。
也许第四个是最简单/最强大的,但我不知道该怎么做。对于gravatars,我总是使用这个简单的帮助方法:
def gravatar_url(user)
gravatar_id = Digest::MD5.hexdigest(user.email.downcase)
"http://gravatar.com/avatar/#{gravatar_id}.png?d=identicon&s=150"
end
答案 0 :(得分:0)
https://cdn.v2ex.com/gravatar/5e801ed65b6f99fcad45fc7e61a5ffde
处有一面镜子一般来说,作为经验法则,GFW对HTTPS流量交叉的宽容度较低,因此如果您对gravatar.com使用HTTP,则可能会有一些改进