Ruby on Rails 앱을 개발 중입니다.중국에서 차단 된 Gravatar는 해결 방법이 필요합니다.
Gravatar는 사용자가 많은 중국에서 차단됩니다. 즉, 앱에서 gravatar의 사이트를 가져 오는 경우 중국에 거주하는 사용자는 귀하의 웹 사이트가 충돌하거나로드되지 않습니다.
- 모두 업로드 gravatars 노동자 S3와
- 그림 그들에게 가
해결 방법 # 1 cloudflare 같은 CDN을 사용하는 것입니다 해결 방법을 자신을 봉사 :
그래서 나는 두 가지 옵션이 있습니다 Gravatars를 제공하는 데 사용할 수 있습니다. 플러그 앤 플레이 방식이 존재한다면 성능이 향상 될 수 있습니다.
해결 방법 # 2는 중국의 gravatar 미러에서 IP 주소를 기반으로 중국 내에있는 모든 사람을 대상으로합니다.
해결 방법 # 3은 ActiveSupport :: Cache :: SynchronizedMemoryStore.new (https://github.com/sinisterchipmunk/gravatar)를 사용하는 Gravatar Ultimate gem으로 이미지를 캐시하는 것입니다. 수만 명의 일일 사용자에게 확장 성이 있는지는 잘 모르겠습니다.
해결 방법 # 4는 브라우저에서 Gravatar의 실패를 감지하고 기본 (이미지 기반이 아닌) 아바타를 표시하지 못하는 경우입니다. 첫 번째 시도 후에 모든 아바타에게이 작업을 수행했거나 이후 시도에서 기억하고 기억하는 것이 좋을 것입니다.
아마도 네 번째가 가장 쉽고 강력합니다.하지만 어떻게해야할지 모르겠습니다.
def gravatar_url(user)
gravatar_id = Digest::MD5.hexdigest(user.email.downcase)
"http://gravatar.com/avatar/#{gravatar_id}.png?d=identicon&s=150"
end
'gravatar'가 아닌, 프로필 이미지로 * gravatar를 사용하는 사용자가 많다는 것을 의미합니까? – AntonTkachov
아니요, 중국에 거주하는 모든 사용자의 경우 gravatar.com에서 호스팅되는 이미지에 연결하려고하면 앱이로드되지 않고 충돌 할 수 있습니다. –
이미지를 서버 측에로드 한 다음 데이터를 Base64로 인코딩하고 이미지를 인라인으로 렌더링 할 수 있습니다. 즉, 다음과 같이 필터를 통과해야합니다. https://stackoverflow.com/questions/22717251/how-cani-i- 브라우저 내부의 이미지로 display-png-data-browser – DivXZero