Hospedagem de imagens grátis: Cloudflare R2 + PicGo para um fluxo estável

Em 2023, hospedei as imagens do blog no GitHub junto com o CDN jsDelivr. Funcionava bem. Até que o jsDelivr foi bloqueado na China, e todas as imagens do blog viraram links quebrados. Depois testei algumas hospedagens gratuitas de imagem: algumas apagavam arquivos sem aviso, outras simplesmente saiam do ar. Qiniu Cloud e Alibaba Cloud OSS são estáveis, mas na China exigem registro ICP de domínio e ainda trazem risco de custo extra.
O Cloudflare R2 oferece 10GB grátis, 1 milhão de uploads por mês e 10 milhões de leituras por mês. O ponto decisivo é que o tráfego de saída é totalmente gratuito. Usei por meio ano sem gastar um centavo, e a velocidade ficou boa. Com o PicGo para upload em um clique, o fluxo fica bem suave. Este artigo organiza o processo completo: por que escolher R2, como configurar acesso público e como conectar o PicGo ao R2. Dá para deixar tudo pronto em 30 minutos.
Por que escolher o R2 como hospedagem de imagens?
Antes de decidir pelo R2, comparei várias alternativas. Vale olhar primeiro para o estádo das hospedagens gratuitas de imagem; assim fica claro por que acabei escolhendo o R2.
Problemas de outras opções gratuitas de hospedagem de imagens
GitHub + jsDelivr: já foi a opção mais gostosa de usar, mas hoje não serve mais para esse caso. O jsDelivr sofreu poluição de DNS e bloqueio na China, então as imagens do blog simplesmente deixam de carregar. E, sendo bem direto, usar GitHub como armazenamento de imagens sempre foi um abuso da plataforma: cada upload gera um commit, bagunça o histórico e, se um dia a conta for bloqueada, todas as imagens somem junto.
Hospedagens públicas gratuitas (como SM.MS, Lu Guo Tu Chuang e similares): o problema desse tipo de serviço é a instabilidade. Alguns removem imagens sem aviso, outros fecham de uma hora para outra. Ja vi muitos blogs virarem um monte de imagens quebradas porque o serviço de hospedagem saiu do ar. Serviço gratuito parece ótimo, mas você teria coragem de colocar todos os ativos visuais do blog nele?
Provedores chineses de nuvem (Qiniu Cloud, Alibaba Cloud OSS, Tencent Cloud COS): esses serviços são estáveis, e o Qiniu Cloud também oferece 10GB gratuitos. O ponto duro é que serviços de nuvem na China exigem registro ICP de domínio. Para um blog pessoal, esse processo é trabalhoso, e ainda existe o risco de cobrança ao ultrapassar a cota. O custo nem é tão alto, talvez alguns yuans por mês depois de passar de 10GB, mas a sensação é de ficar sempre com uma conta aberta.
Principais vantagens do R2
Depois de comparar, o Cloudflare R2 acabou sendo a melhor solução atual para hospedagem pessoal de imagens. Usei por meio ano e resumiria as vantagens assim:
1. A cota gratuita sobra para uso pessoal
A cota gratuita do R2 inclui:
- Armazenamento: 10 GB
- Uploads por mês: 1 milhão (operações Classe A)
- Leituras por mês: 10 milhões (operações Classe B)
Para um blog pessoal, isso sobra. O meu blog tem mais de 100 artigos e cerca de 500 imagens, ocupando menos de 2GB no total. Nesse ritmo, 10GB duram vários anos. Mesmo se passar da cota, o preço é baixo: armazenamento a $0.015/GB/mês, que equivale a poucos centavos por GB ao mês.
2. Tráfego de saída totalmente gratuito
Essa é a maior vantagem do R2 sobre o AWS S3. Armazenamento em nuvem tradicional, como S3 ou Alibaba Cloud OSS, cobra pelo tráfego de saída, geralmente alguns centavos ou mais por GB. Se o blog tiver bastante acesso, essa conta pode ficar maior que o próprio armazenamento.
No R2, o tráfego de saída é gratuito. Não importa quantas vezes suas imagens sejam acessadas ou baixadas, isso não gera custo extra. A Cloudflare usa sua própria rede global de CDN, com 100+ países e 275 cidades, para distribuir o conteúdo. O tráfego passa pela rede interna deles, sem essa cobrança adicional.
3. Provedor grande, mais previsível
A Cloudflare é um dos maiores provedores de CDN do mundo, com valor de mercado na casa de dezenas de bilhões de dólares. Usar um serviço dela reduz o medo de o provedor desaparecer ou apagar arquivos do nada. A Cloudflare também tem fama de ser especialmente amigável com usuários individuais, porque muitos serviços oferecem cotas gratuitas bastante generosas.
4. Compatibilidade com API S3 e migração futura
O R2 é totalmente compatível com o padrão da API AWS S3. Isso significa que, se no futuro você quiser migrar para outro serviço compatível com S3, como MinIO ou Alibaba Cloud OSS, basta ajustar a configuração. Não precisa reescrever código nem trocar o fluxo de ferramentas. Essa flexibilidade ajuda a evitar lock-in de fornecedor.
5. Sem registro ICP, pronto para usar
O R2 é um serviço internacional, e vincular seu próprio domínio não exige registro ICP. Criar conta na Cloudflare, ativar R2 e concluir a configuração leva cerca de 30 minutos. Para quem mantém um blog pessoal, isso é bem mais simples.
Um lembrete rápido
O único ponto de atenção do R2 é que, para ativar o serviço, você precisa vincular um cartão de crédito ou PayPal. Isso serve apenas para verificação de identidade, não para cobrança automática. Eu também hesitei na hora, mas depois de vincular vi que era realmente só verificação. Usei por meio ano sem nenhuma cobrança. Se ainda ficar inseguro, dá para usar um cartão virtual ou vincular um PayPal doméstico, que também funciona.
Com as vantagens claras, vamos montar a solução.
Fluxo completo para montar hospedagem de imagens com Cloudflare R2 + PicGo
Guia passo a passo de 30 minutos para criar uma hospedagem pessoal de imagens gratuita, da ativação do R2 ao upload em um clique pelo PicGo
Estimated time: PT30M
-
1
Step 1: Passo 1: registrar conta e ativar o R2
Crie uma conta na Cloudflare e, na barra lateral, encontre R2 Object Storage para ativar o serviço. -
2
Step 2: Passo 2: criar um bucket
Clique em Create bucket no canto superior direito e escolha um nome fácil de reconhecer, como blog-images. O nome precisa ser globalmente único. -
3
Step 3: Passo 3: configurar acesso público, a parte essencial
Modo 1, para testes: -
4
Step 4: Passo 4: criar um token de API
Volte para a página Overview do R2 e clique em Manage R2 API Tokens -> Create API Token. -
5
Step 5: Passo 5: instalar PicGo e plugin S3
Baixe o PicGo: -
6
Step 6: Passo 6: configurar os parâmetros S3 no PicGo
Clique em Image Hosting Settings -> Amazon S3 e preencha: -
7
Step 7: Passo 7: testar upload
Passos de teste: -
8
Step 8: Passo 8: otimizar, opcional
Configure regras de cache:
Passo a passo detalhado para montar a hospedagem com R2
Agora vamos para a parte prática. Vou detalhar cada etapa; basta seguir com calma.
Passo 1: registrar conta e ativar o R2
Primeiro, você precisa de uma conta Cloudflare. Se ainda não tem, va ao site da Cloudflare e crie uma conta grátis com e-mail e senha. É simples.
Depois de entrar, encontre R2 Object Storage na barra lateral esquerda e abra a página. Se for a primeira vez que você usa o serviço, a Cloudflare vai pedir a ativação.
Ponto importante: para ativar o R2, é necessário vincular um método de pagamento, cartão de crédito ou PayPal.
Muita gente para nessa etapa, e eu também hesitei na primeira vez. Mas isso serve apenas para verificar identidade. Não há cobrança automática. A cota gratuita da Cloudflare é real; só há cobrança se você ultrapassar a cota de forma ativa e confirmar o pagamento.
Voce pode vincular:
- cartão de crédito internacional, como Visa ou MasterCard
- PayPal, inclusive PayPal doméstico na China
- cartão virtual, se quiser reduzir risco
Depois de vincular, clique para ativar o serviço R2. Em poucos segundos ele fica pronto.
Passo 2: criar um bucket
Depois de ativar o R2, clique no botao Create bucket no canto superior direito.
Nome do bucket: escolha um nome fácil de reconhecer, como blog-images ou my-pics. Esse nome é globalmente único; se já estiver em uso, você precisa escolher outro.
Localização: aqui existe um detalhe pratico.
Muitos tutoriais recomendam automaticamente Asia Pacific (APAC), porque fica mais perto da China e tende a ser mais rápido. Mas isso não é absoluto. Testei duas localizacoes e percebi:
- Asia Pacific: o acesso na China é um pouco mais rápido, mas o acesso internacional pode ficar limitado
- Western North America (WNAM): com a CDN da Cloudflare, a velocidade global fica mais equilibrada, e a velocidade na China ainda é aceitável
Eu escolhi Western North America porque o blog também pode ter leitores fora da China, e a experiência geral fica melhor. Voce pode escolher conforme o público do seu site.
Classe de armazenamento: escolha Standard.
Depois clique em Create. Em poucos segundos o bucket estará criado.
Passo 3: configurar acesso público, a etapa essencial
Depois de criar o bucket, entre na página de configurações dele. Esta etapa é importante e também onde muita gente trava.
Por padrão, o R2 é privado. Para que as imagens possam ser acessadas publicamente, existem duas formas:
Modo 1: ativar o subdomínio r2.dev, bom para testes
Este e o caminho mais simples e serve para os primeiros testes.
- Na página de configurações do bucket, role até encontrar R2.dev subdomain
- Clique em Allow Access
- Na caixa de confirmação, digite
allowe confirme
Depois disso, a Cloudflare gera uma URL pública parecida com:
https://pub-xxxxx.r2.dev
Mas aqui existe uma pegadinha importante: o subdomínio r2.dev tem limite de taxa de acesso e serve apenas para desenvolvimento e testes. Se o blog tiver bastante tráfego, você pode bater esse limite e as imagens deixam de carregar. A própria Cloudflare recomenda domínio personalizado para produção.
Na minha primeira configuração, ignorei esse ponto. Quando o tráfego do blog subiu um pouco, as imagens começaram a falhar. Depois troquei para domínio personalizado. Foi uma lição aprendida do jeito chato.
Modo 2: vincular domínio personalizado, recomendado para produção
Se você tem um domínio próprio, recomendo fortemente este caminho. Além de não ter o limite de taxa do r2.dev, ele permite configurar cache, proteção contra hotlink e outros recursos avançados.
Pré-requisito: seu domínio precisa estar gerenciado pela Cloudflare, ou seja, os servidores DNS do domínio precisam apontar para a Cloudflare. Se ainda não estiver, adicione o domínio no painel da Cloudflare e siga as instruções para trocar os servidores DNS. O processo é gratuito.
Passos:
- Na página de configurações do bucket, encontre Custom Domains
- Clique em Add
- Informe o subdomínio desejado, por exemplo
img.yourdomain.com - Clique em Continue
- A Cloudflare adiciona automaticamente um registro CNAME ao DNS
- Clique em Connect Domain
Depois de alguns minutos, quando o DNS propagar, seu domínio personalizado estará pronto. A URL das imagens passa a ser:
https://img.yourdomain.com/path/to/image.png
Eu uso domínio personalizado, junto com a estratégia de cache que aparece mais abaixo. Fica estável e rápido.
Passo 4: criar o token de API
Depois de configurar o acesso público, você precisa gerar as chaves de API para que o PicGo consiga se conectar ao R2 e enviar imagens.
- Volte para a página Overview do R2
- Clique em Manage R2 API Tokens no canto superior direito
- Clique em Create API Token
- De um nome ao token, como
PicGo-Upload - Em permissões, escolha Object Read & Write
- Clique em Create API Token
Muito importante! Depois de criar, a Cloudflare mostra três informações:
- Access Key ID
- Secret Access Key
- S3 API endpoint, parecido com
https://xxxxx.r2.cloudflarestorage.com
Essas três informações só aparecem uma vez. Depois de fechar a página, você não consegue vê-las de novo. Copie e salve imediatamente em um local seguro, como um gerenciador de senhas ou um arquivo local criptografado.
Se você fechar sem salvar, a única saída é apagar o token e criar outro. Na primeira vez, eu fechei rápido demais e precisei recriar. Não repita esse erro.
Dica: o S3 API endpoint também aparece em Overview -> Use R2 with S3 API. É a URL que começa com HTTPS.
Com isso, a parte do R2 está pronta. Agora vamos configurar o PicGo.
Configurando o PicGo na prática
O PicGo é uma ferramenta open source para upload de imagens, com suporte a vários serviços de hospedagem. Depois de configurado, você arrasta uma imagem, ele envia automaticamente e gera o link em formato Markdown. É bem prático.
Passo 1: instalar PicGo e plugin S3
Baixar o PicGo
Acesse o site do PicGo ou a página de GitHub Releases e baixe o instalador do seu sistema:
- Windows: arquivo
.exe - macOS: arquivo
.dmg - Linux: arquivo
.AppImage
A instalação é simples: basta seguir o assistente.
Opcao avancada: PicList
Se você quiser mais recursos, recomendo o PicList, um fork do PicGo. Ele adiciona:
- gerenciamento de imagens, para ver e apagar arquivos já enviados
- compressão de imagens, com ou sem perda
- conversão de formato, como WebP
- adição de marca d’agua
Hoje eu uso o PicList. Ele é mais completo, e o método de instalação é igual ao do PicGo.
Instalar o plugin S3
O PicGo não oferece suporte ao protocolo S3 por padrão, então você precisa instalar um plugin.
- Abra o PicGo e clique em Plugin Settings na barra lateral
- Digite
s3na busca - Alguns plugins vao aparecer; recomendo
picgo-plugin-s3ous3-lls. Os dois funcionam e são parecidos - Clique em Install e aguarde concluir
Atenção: a instalação do plugin precisa de ambiente Node.js. Se falhar, as causas comuns são:
- problema de rede, porque o plugin e baixado do GitHub e pode ser lento na China
- ausencia de Node.js; nesse caso, baixe pelo site do Node.js
- permissão do sistema, especialmente no Windows, onde talvez seja preciso rodar como administrador
Se mêsmo assim não instalar, tente instalação offline ou use outra rede.
Passo 2: configurar parâmetros S3
Depois que o plugin estiver instalado, clique em Image Hosting Settings na lateral, encontre Amazon S3 ou AWS S3 e abra a configuração.
Esta parte é crítica. Cada parâmetro precisa estar correto. Vamos por partes.
Access Key ID
Preenchá com o Access Key ID que você salvou ao criar o token da API no R2.
Secret Access Key
Preenchá com a Secret Access Key.
Não inverta os dois campos. O ID costuma ser uma string mais curta; a chave secreta e mais longa.
Bucket Name
Preenchá com o nome do bucket criado no R2, por exemplo blog-images.
Use o nome do bucket, não ARN, não URL. E exatamente o nome definido na criação.
Upload Path
Este campo define como as imagens ficam organizadas dentro do bucket. Alguns formatos recomendados:
{year}/{month}/{md5}.{extName}- organiza por ano e mês, usando MD5 para evitar nomes repetidosPicGo/{fullName}- coloca tudo na pasta PicGo, mantendo o nome original{year}/{month}/{fullName}- organiza por ano e mês, mantendo o nome original
Eu uso a primeira opção. Ela evita colisão de nomes e ainda facilita organizar por data.
Lembrete importante: o caminho não deve comecar com /. Escreva diretamente {year}/{month}/.... Se você adicionar / no inicio, o upload pode falhar ou gerar caminhos estranhos.
Endpoint personalizado
Preenchá com o S3 API endpoint salvo antes, no formato https://xxxxx.r2.cloudflarestorage.com.
Inclua https://; não deixe isso de fora.
Custom Domain
Aqui entra o domínio público que você configurou. Depende da escolha anterior:
- se usar domínio personalizado, preencha
https://img.yourdomain.com - se usar r2.dev, preencha a Public Bucket URL, visivel nas configurações do bucket, parecida com
https://pub-xxxxx.r2.dev
Esse domínio define o link final das imagens, então precisa estar correto.
Outros parâmetros
- Region: pode preencher qualquer valor, como
autoouus-east-1; o R2 não depende desse parâmetro - Upload method: escolha Path Style
Passo 3: testar o upload
Depois de configurar, não comece a usar direto. Teste primeiro.
- Clique em OK para salvar
- Marque como hospedagem padrão, para que uploads futuros usem o R2 automaticamente
- Clique na área de upload na lateral
- Arraste uma imagem de teste ou clique para escolher uma imagem
Se a configuração estiver correta, em poucos segundos você vera a mensagem de sucesso, e o link da imagem será copiado para a área de transferência.
Confira o link: cole a URL no navegador e veja se a imagem abre. Se abrir, a configuração funcionou.
Erros comuns e como resolver
Se o upload falhar, confira estes pontos:
- Access Denied ou erro 403
- confira se as chaves da API foram preenchidas corretamente e sem inversão
- confira se o token da API tem permissão Object Read & Write
- confira se o nome do bucket está correto
- A imagem sobe, mas não pode ser acessada
- confira se o acesso público foi ativado, via r2.dev ou domínio personalizado
- confira se o domínio personalizado está correto e inclui
https:// - aguarde alguns minutos; talvez o DNS ainda não tenhá propagado
- Upload muito lento ou timeout
- pode ser rede, já que o R2 fica fora da China
- se a imagem for grande, comprima antes. O PicList já traz compressão
- Caminho de arquivo errado ou diretórios estranhos
- confira se o Upload Path comeca com
/; se comecar, remova - confira se o formato do caminho está correto
- confira se o Upload Path comeca com
Na primeira vez, eu tinha invertido Access Key ID e Secret Access Key. Perdi um bom tempo até perceber. Se algo der errado, revise cada parâmetro antes de mexer em outras coisas. Na maioria das vezes, é só configuração preenchida errado.
Otimização e técnicas avançadas
Até aqui, a hospedagem básica de imagens já funciona. Mas, se você quiser mais estabilidade, velocidade e tranquilidade, vale aplicar alguns ajustes.
Configurar estratégia de cache, altamente recomendado
Se você usa domínio personalizado, configure regras de cache. Isso traz três benefícios:
- reduz o número de requisições ao R2 e evita passar da cota gratuita
- acelera o carregamento das imagens, porque a resposta vem direto do cache da CDN
- reduz risco de tráfego malicioso consumindo sua cota
Como configurar:
- Entre no painel da Cloudflare e selecione seu domínio
- Clique em Rules -> Page Rules ou Cache Rules
- Crie uma regra nova com URL correspondente a
img.yourdomain.com/*, trocando pelo seu domínio - Configure:
- Cache Level: Cache Everything
- Edge Cache TTL: de 1 mês a 1 ano; recomendo 6 meses
- Browser Cache TTL: 1 mês
Depois disso, a primeira visita a uma imagem ainda lê do R2, mas as seguintes retornam do cache da CDN da Cloudflare. Na prática, quase não consomem leituras do R2.
Eu uso cache de 6 meses. Depois de bastante tempo, o número real de requisições ao R2 ficou em apenas alguns milhares, totalmente dentro da cota gratuita.
Aceleração para acesso na China, opcional
A CDN da Cloudflare na China depende um pouco da região e da sorte. Algumas áreas ficam boas; outras podem ser lentas. Se o público principal do seu blog estiver na China, considere estas opções:
Opcao 1: Tencent Cloud EdgeOne
É a versão internacional de CDN da Tencent Cloud. Tem cota gratuita, não exige registro ICP e pode ser usada para acelerar o R2.
- Vantagem: acesso mais rápido na China e cota gratuita suficiente
- Desvantagem: exige outra conta na Tencent Cloud e a configuração é um pouco mais complexa
Opcao 2: WebP Cloud
Um serviço focado em proxy e otimização de imagens. Ele pode converter imagens automaticamente para WebP e manter cache.
- Vantagem: comprime imagens automaticamente e economiza tráfego
- Desvantagem: tem limite de requisições; se passar, precisa pagar
Opcao 3: separação entre China e exterior
Use uma ferramenta como rclone para sincronizar imagens do R2 para uma nuvem chinesa, como Tencent Cloud COS. Usuários na China acessam a hospedagem chinesa; usuários fora da China acessam o R2.
- Vantagem: boa velocidade nos dois lados
- Desvantagem: exige mais conhecimento técnico e tem custo de manutenção maior
Sendo sincero, eu uso o método mais simples: domínio personalizado + regras de cache. Não e o mais rápido do mundo, mas a velocidade na China fica aceitável, em torno de 1 a 3 segundos, o que é suficiente para um blog pessoal. Se você tiver exigência alta de velocidade, aí sim vale considerar uma solução de aceleração.
Seguranca e proteção
Depois de montar a hospedagem, também é preciso evitar abuso.
Desativar acesso r2.dev
Se você já configurou domínio personalizado, lembre-se de fechar o acesso público via r2.dev. Caso contrário, alguém pode contornar regras como proteção contra hotlink usando diretamente o domínio r2.dev.
Como fazer: entre nas configurações do bucket -> R2.dev subdomain -> Disallow Access, digite disallow e confirme.
Protecao contra hotlink
Com o WAF da Cloudflare, Web Application Firewall, você pode limitar quais sites conseguem incorporar suas imagens.
Configuração simples:
- Console da Cloudflare -> Security -> WAF
- Crie uma regra personalizada
- Condicao: Referer não contem
yourblog.com - Acao: bloquear ou desafiar
Assim, outras pessoas não conseguem usar seus links de imagem diretamente nos próprios sites.
Monitorar uso
Confira periodicamente o uso do R2 para evitar passar da cota.
No console do R2, você consegue ver:
- uso de armazenamento
- número mensal de requisições, Classe A e Classe B
Se notar crescimento anormal, investigue rapidamente se alguém está gerando tráfego indevido.
Conclusão
Pronto. A hospedagem de imagens com R2 está montada.
Recapitulando o que fizemos:
- Criamos conta e ativamos Cloudflare R2, recebendo 10GB de armazenamento gratuito
- Criamos um bucket e configuramos acesso público, por domínio personalizado ou r2.dev
- Geramos um token de API para o PicGo se conectar
- Instalamos e configuramos o PicGo para upload de imagens em um clique
- Configuramos cache e segurança para deixar a hospedagem mais estável
A partir daqui, você não precisa mais se preocupar tanto com hospedagem apagando imagens, saindo do ar ou cobrando do nada. Ao escrever um post, basta arrastar a imagem para o PicGo, deixar ele enviar e gerar o link, e colar no Markdown. O fluxo fica bem fluido.
Sendo bem sincero, montar a hospedagem de imagens com R2 foi uma das melhores decisões que tomei nos últimos dois anos. A primeira configuração levou um tempo, principalmente por causa das armadilhas, mas depois ficou muito tranquilo. Hoje ela roda há mais de meio ano, armazena mais de 500 imagens, não custou um centavo e não me deu nenhum problema.
Se você também está sofrendo com hospedagem de imagens, vale muito testar o R2. Seguindo os passos deste artigo, dá para terminar em 30 minutos. Se algo falhar, não entre em pânico: na maioria dos casos, algum parâmetro foi preenchido errado. Revise com calma.
Ultimo lembrete: depois de configurar tudo, salve bem as chaves da API. Se um dia precisar reconfigurar ou trocar de computador, você usa as chaves antigas e evita gerar tudo de novo.
Agora é hora de montar sua própria hospedagem gratuita de imagens. Se tiver dúvidas, deixe um comentário; quando eu vir, respondo.
FAQ
Qual é a cota gratuita do Cloudflare R2?
• 10GB de armazenamento
• 1 milhão de uploads por mês (operações Classe A)
• 10 milhões de leituras por mês (operações Classe B)
• tráfego de saída totalmente gratuito
Um blog pessoal com 500 imagens ocupa menos de 2GB, então dá para usar por vários anos.
Custos depois de passar da cota:
• armazenamento: $0.015/GB/mês (cerca de poucos centavos por GB ao mês)
• operações: Class A $4.50 por milhão, Class B $0.36 por milhão
Quais vantagens o R2 tem em relação a outras opções de hospedagem de imagens?
1) tráfego de saída totalmente gratuito (vs. S3 cobrando por GB), que é o maior diferencial
2) estabilidade de um provedor grande (Cloudflare é um dos maiores provedores de CDN do mundo)
3) compatibilidade com a API S3, facilitando migração futura
4) uso imediato, sem registro ICP local na China (serviço internacional, configurável em 30 minutos)
5) distribuição por CDN global (100+ países e 275 cidades)
Problemas de outras opções:
• GitHub + jsDelivr: bloqueado na China
• hospedagens públicas gratuitas: instáveis
• serviços em nuvem chineses: exigem registro ICP de domínio
Como configurar acesso público no R2?
• nas configurações do bucket, encontre o subdomínio R2.dev
• clique em Allow Access e digite allow para confirmar
• atenção: r2.dev tem limite de taxa de acesso; em produção, use domínio personalizado
Modo 2 (recomendado para produção):
• pré-requisito: o domínio já precisa estar gerenciado pela Cloudflare
• em Custom Domains, informe um subdomínio, como img.yourdomain.com
• a Cloudflare adiciona o registro CNAME automaticamente; depois e só aguardar o DNS propagar
Como configurar o PicGo para conectar ao R2?
1. Instale o PicGo e um plugin S3 (picgo-plugin-s3 ou s3-lls)
2. Configure em Image Hosting Settings -> Amazon S3
Parametros principais:
• Access Key ID
• Secret Access Key
• Bucket Name
• caminho do arquivo, como {year}/{month}/{md5}.{extName}; não comece com /
• Endpoint personalizado, com https://
• domínio personalizado ou URL r2.dev
• Region, que pode ser algo como auto
• método de upload em Path Style
Depois que o upload de teste funcionar, já dá para usar no dia a dia.
Como otimizar desempenho e custo da hospedagem de imagens no R2?
1) Configure regras de cache:
• Console da Cloudflare -> Rules -> Cache Rules
• corresponda a img.yourdomain.com/*
• Edge Cache TTL de 6 meses e Browser Cache TTL de 1 mês
• em teste real, o número de requisições caiu de dezenas de milhares para alguns milhares
2) Desative o acesso r2.dev se já estiver usando domínio personalizado.
3) Configure uma regra WAF contra hotlink: bloqueie quando o Referer não contiver yourblog.com.
4) Monitore o uso periodicamente para evitar passar da cota.
Para acelerar acesso na China, Tencent Cloud EdgeOne ou WebP Cloud são opções.
Preciso vincular cartão de crédito para ativar o R2? Ele cobra automaticamente?
Para ativar o R2, você precisa vincular um cartão de crédito ou PayPal. Isso serve apenas para verificação de identidade, não para cobrança automática.
A cota gratuita da Cloudflare é realmente gratuita. Só há cobrança se você ultrapassar a cota de forma ativa e confirmar o pagamento.
Voce pode vincular:
• cartão de crédito internacional, como Visa ou MasterCard
• PayPal, inclusive em contas da China
• cartão virtual
No meu teste, usei por meio ano sem gerar nenhum custo.
Como resolver erros comuns de upload no PicGo?
1) Access Denied ou erro 403:
• confira se as chaves da API foram preenchidas corretamente, sem inverter os campos
• confirme se o token da API inclui permissão Object Read & Write
• confira se o nome do bucket está correto
2) A imagem sobe, mas não abre:
• confira se o acesso público foi ativado, via r2.dev ou domínio personalizado
• confira se o domínio personalizado foi preenchido com https://
• aguarde o DNS propagar
3) Upload lento ou timeout:
• pode ser rede, já que o R2 fica fora da China
• se a imagem for grande, comprima antes
4) Caminho do arquivo incorreto:
• confira se o caminho comeca com /; se comecar, remova a barra
Na maioria dos casos, o problema está em algum parâmetro preenchido errado. Vale revisar com calma.
19 min de leitura · Publicado em: 30 nov 2025 · Atualizado em: 14 jul 2026
Cloudflare Full Stack
Se você chegou pela busca, o caminho mais rápido é ir para o post anterior ou próximo desta série.
Anterior
Cloudflare Tunnel para iniciantes: acesse serviços internos com segurança sem IP público
Guia passo a passo para usar Cloudflare Tunnel e criar acesso remoto gratuito à rede interna, sem IP público nem servidor em nuvem. Configure em 30 minutos, com HTTPS, proteção DDoS e suporte a HTTP/SSH/RDP.
Parte 12 de 23
Próximo
Como migrar do S3 para o R2 e reduzir os custos em até 90%
Compare três formas de migrar do Amazon S3 para o Cloudflare R2, veja a compatibilidade da API, calcule a economia real e conclua a mudança com segurança.
Parte 14 de 23



Comentários
Entre com GitHub para comentar