Não é possível fazer upload para o S3 (Cloudflare R2)

Estou configurando o R2 no meu site seguindo alguns guias aqui, mas agora só vejo uma mensagem genérica Desculpe, mas o seu upload falhou. Por favor, tente novamente. quando tento fazer upload de um arquivo. O único registro que vejo nos logs é este:

Configurei minhas URLs no arquivo app.yml porque a interface web estava rejeitando as URLs estruturadas conforme os posts de tutorial (formato inválido):

image
O CDN_URL é o domínio personalizado (configurado no Cloudflare) e o S3_ENDPOINT é a URL no painel web. Configurei todas as minhas opções corretamente com tokens de autenticação criados adequadamente:

Parece que o Cloudflare está recebendo algumas solicitações, mas nada está sendo armazenado.

Qual é o problema?

Ei,

Não será por causa das barras finais (/) na URL do CDN do S3 e no endpoint do S3?

são estes os guias que você seguiu? tem certeza de que seu bucket de upload se chama “discourse”?

Sim, o primeiro é o que eu segui.

Correto

Vou tentar remover as barras e dou um retorno.

Removi as barras finais, mas ainda sem sucesso. O mesmo erro Unauthorized.

O token também está configurado corretamente

Você tem certeza de que o token do Cloudflare R2 tem permissões de leitura/escrita e de que você configurou corretamente a política de CORS? Sei que você tem uma configuração de servidor um pouco diferente, e as permissões e configurações do bucket do Cloudflare precisam estar exatamente certas, caso contrário, serão gerados erros de permissão.

você criou o tipo de token errado — você tem um token de API geral. Você precisa criar um token de bucket R2:

  1. Acesse o painel do Cloudflare → Armazenamento de objetos R2 (na barra lateral esquerda, em storage & databases).
  2. No lado direito da página de visão geral do R2, clique em Gerenciar tokens de API R2.
  3. Clique em Criar token de API.
  4. Defina as permissões como leitura e gravação de objetos e, em seguida, clique em Salvar.
  5. Isso gerará um access key id e um secret access key. Esses são os valores que você precisa inserir na configuração S3 do Discourse.

E sim, você precisa remover as barras invertidas no final, pois o Discourse provavelmente as rejeitará.

Obrigado, descobri que era esse o problema.. desnecessariamente confuso, mas a culpa é da Cloudflare

é, o painel do Cloudflare pode ser um verdadeiro favo de abelhas de configurações, rs. Que bom que você conseguiu resolver!