Alguém já usou o SeaweedFS? Com a incerteza sobre o MinIO, tenho considerado essa opção e vou experimentá-la para ver se há algum problema de compatibilidade com o Discourse.
Consegui fazer o R2 funcionar corretamente usando este conjunto de regras:
## Este conjunto de linhas permite que arquivos hospedados no R2 S3 sejam enviados e baixados..
DISCOURSE_USE_S3: true
DISCOURSE_S3_REGION: auto
DISCOURSE_S3_ACCESS_KEY_ID: access-key-id
DISCOURSE_S3_SECRET_ACCESS_KEY: access-key
DISCOURSE_S3_CDN_URL: https://eufiles.technospider.com
DISCOURSE_S3_BUCKET: exotics-unlimited
DISCOURSE_S3_BACKUP_BUCKET: exotics-unlimited-backups
DISCOURSE_BACKUP_LOCATION: s3
# DISCOURSE_CDN_URL: https://eufiles.technospider.com
DISCOURSE_S3_ENDPOINT: https://71*****5d4976.r2.cloudflarestorage.com
# DISCOURSE_INCLUDE_S3_UPLOADS_IN_BACKUPS: true
DISCOURSE_S3_INSTALL_CORS_RULE: false
Assim que comentei a linha CDN_URL, as coisas funcionaram. Acho que pela natureza do fato de o R2 criar o CDN automaticamente, você não precisa dessa linha e, na verdade, adicioná-la quebra as coisas.
Eu comentei a linha de inclusão de imagens apenas para manter meus tamanhos de backup baixos. Estou usando o nível gratuito no R2 e não quero exceder meu limite.
Certo. Você realmente não deve usar DISCOURSE_INCLUDE_S3_UPLOADS_IN_BACKUPS, a menos que esteja migrando para longe do S3. Não faz sentido baixar todas as imagens do S3 para incluí-las em um backup armazenado . . . no S3. Uma vez deixei isso ativado em um bucket da AWS e tive uma conta alta por baixar todas as imagens todos os dias.
Este deve ser um CDN separado que aponta para o seu servidor Discourse, e não para o bucket S3. Algumas coisas, como avatares, e não tenho certeza sobre o que mais, são servidas do seu servidor. O motivo pelo qual não funcionou é que você incluiu o CDN do seu S3, e não o CDN do site.
Você quer dizer se você usa 2 empresas diferentes? Uma para o bucket e outra para a CDN? Eu não sou muito versado nisso, então preciso da informação como se eu tivesse 3 anos…
Eu sei que quando você cria um “domínio personalizado” na interface R2, ele atua como uma CDN, e é por isso que inicialmente tentei adicionar aquela linha.
De qualquer forma, tem funcionado perfeitamente para o meu site de teste e, a menos que haja algo mais que deveria estar fazendo e não está, eu recomendaria que a postagem original fosse atualizada para mostrar que o Cloudflare agora funciona com o Discourse.
Não. Você não pode fazer isso. Existe apenas uma chave/segredo do S3. Eu estava tentando criar um motivo para usar uploads S3, mas não há nenhum.
[quote=“tknospdr, post:499, topic:148916”]
Eu sei que quando você cria um “domínio personalizado” na interface do R2, ele atua como um CDN, e é por isso que inicialmente tentei adicionar essa linha.
[/quote] Isso é para o Bucket S3, não para o seu site. Existem duas variáveis diferentes DISCOURSE_S3_CDN_URL e DISCOURSE_CDN_URL. Você as está tratando como se fossem a mesma coisa. Você não pode usar um CDN para o site, mas o motivo pelo qual não funcionou quando você definiu essa variável é que você forneceu o CDN errado.
Ok, eu pensei que tinha um leve entendimento do que estava fazendo, mas agora acho que estou completamente perdido.
Então, qual é a diferença entre S3 CDN e CDN?
Ainda funcionaria se eu invertesse qual desses 2 eu comentei?
Notei um problema estranho com a imagem de fundo do meu banner de boas-vindas também, isso tem alguma relação com algo disso?
14 publicações foram movidas para um novo tópico: Problemas com AWS CDN e S3
Olá pessoal - só para avisar que o armazenamento de objetos da Hetzner parece funcionar muito bem. Estas são as configurações que adicionei ao meu app.yaml
DISCOURSE_USE_S3: true
DISCOURSE_S3_REGION: whatever
DISCOURSE_S3_INSTALL_CORS_RULE: false
DISCOURSE_S3_ENDPOINT: https://nbg1.your-objectstorage.com
DISCOURSE_S3_ACCESS_KEY_ID: xxxx
DISCOURSE_S3_SECRET_ACCESS_KEY: xxxx
DISCOURSE_S3_CDN_URL: xxxx
DISCOURSE_S3_BUCKET: discourseuploads
DISCOURSE_S3_BACKUP_BUCKET: discoursebackups
DISCOURSE_BACKUP_LOCATION: s3
Obviamente, substitua o seguinte pelas suas próprias configurações:
DISCOURSE_S3_ENDPOINT: (use a URL do painel de controle da Hetzner para a localização onde você criou seu bucket de armazenamento de objetos)
DISCOURSE_S3_ACCESS_KEY_ID: (autoexplicativo)
DISCOURSE_S3_SECRET_ACCESS_KEY: (autoexplicativo)
DISCOURSE_S3_CDN_URL: (use a URL do CDN que puxa do URL do seu bucket Hetzner aqui)
Vou ficar de olho nisso nas próximas semanas/meses no meu servidor de teste, mas até agora tudo bem.